Sudo preserve home inconsistent between Ubuntu and Alpine
I use Alpine docker image and recently I’ve realized there is inconsistency between sudo on Alpine and on Ubuntu.
On Alpine, when I add another user and I run as this user:
sudo /bin/bash -c "env | grep HOME"
I see that HOME is set to /root.
However, on Ubuntu, HOME is set to that user’s HOME.
Is it a known issue or expected inconsistency that HOME is not preserved on Alpine when running sudo?
Full reproduction:
Results when using sudo on Alpine:
$ docker run -ti alpine:3.4 /bin/sh
/ # adduser abc
/ # apk add -U sudo bash nano
/ # nano /etc/sudoers
/ # cat /etc/sudoers
root ALL=(ALL) ALL
abc ALL=(ALL) NOPASSWD: ALL
/ # sudo --version
Sudo version 1.8.16
# full output is in sudo_version_alpine.txt
/ # whoami
root
/ # su abc
/ $ whoami
abc
/ $ env | grep HOME
HOME=/home/abc
/ $ sudo /bin/bash -c "env | grep HOME"
SUDO_COMMAND=/bin/bash -c env | grep HOME
HOME=/root
/ $ sudo -E /bin/bash -c "env | grep HOME"
SUDO_COMMAND=/bin/bash -c env | grep HOME
HOME=/home/abc
Results when using sudo on Ubuntu:
$ docker run -ti ubuntu:16.10 /bin/bash
root@80b316d6bb51:/# adduser abc
root@80b316d6bb51:/# apt-get update
root@80b316d6bb51:/# apt-get install nano sudo
root@80b316d6bb51:/# editor /etc/sudoers
root@80b316d6bb51:/# cat /etc/sudoers
root ALL=(ALL) ALL
abc ALL=(ALL) NOPASSWD: ALL
root@80b316d6bb51:/# sudo --version
Sudo version 1.8.16
# full output is in sudo_version_ubuntu.txt
root@80b316d6bb51:/# whoami
root
root@80b316d6bb51:/# su abc
abc@80b316d6bb51:/$ whoami
abc
abc@80b316d6bb51:/$ env | grep HOME
HOME=/home/abc
abc@80b316d6bb51:/$ sudo /bin/bash -c "env | grep HOME"
SUDO_COMMAND=/bin/bash -c env | grep HOME
HOME=/home/abc
abc@80b316d6bb51:/$ sudo -E /bin/bash -c "env | grep HOME"
SUDO_COMMAND=/bin/bash -c env | grep HOME
HOME=/home/abc
When you compare full `sudo —version` outputs (that are in the attached files), you’ll see that HOME is among “Environment variables to preserve” on Ubuntu, but not on Alpine.
(from redmine: issue id 6267, created on 2016-10-04)