[Bug 2131153] Re: wrong /dev/pts owner for login shell (and $HOME)
Simon Johnsson
2131153 at bugs.launchpad.net
Thu Nov 13 13:24:15 UTC 2025
After some research it seems that the `-i` flag has special behaviour
for PAM environment variables in sudo.ws:
(From https://www.sudo.ws/docs/man/1.8.15/sudoers.man/#Command_environment)
> As a special case, if the -i option (initial login) is specified, sudoers will initialize the environment regardless of the value of env_reset. The DISPLAY, PATH and TERM variables remain unchanged; HOME, MAIL, SHELL, USER, and LOGNAME are set based on the target user. On AIX (and Linux systems without PAM), the contents of /etc/environment are also included. On BSD systems, if the use_loginclass flag is enabled, the path and setenv variables in /etc/login.conf are also applied. All other environment variables are removed unless permitted by env_keep or env_check, described above.
I have filed a bug report upstream to get input on whether this aligns
with their opinions regarding sudo-rs:
https://github.com/trifectatechfoundation/sudo-rs/issues/1335
** Bug watch added: github.com/trifectatechfoundation/sudo-rs/issues #1335
https://github.com/trifectatechfoundation/sudo-rs/issues/1335
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to rust-sudo-rs in Ubuntu.
https://bugs.launchpad.net/bugs/2131153
Title:
wrong /dev/pts owner for login shell (and $HOME)
Status in rust-sudo-rs package in Ubuntu:
Triaged
Bug description:
sudo-rs doesn't set a login shells /dev/pts owner correctly and
doesn't set its $HOME, while sudo.ws does.
sudo.ws:
jj at host % lxc exec canonical -- sudo.ws -i -u ubuntu
ubuntu at canonical ~ % pwd
/home/ubuntu
ubuntu at canonical ~ % echo $HOME
/home/ubuntu
ubuntu at canonical ~ % tty
/dev/pts/4
ubuntu at canonical ~ % ls -la /dev/pts/4
crw--w---- 1 ubuntu tty 136, 4 Nov 12 15:37 4
sudo-rs:
jj at host % lxc exec canonical -- sudo-rs -i -u ubuntu
canonical% pwd
/home/ubuntu
canonical% echo $HOME
/root
canonical% tty
/dev/pts/4
ubuntu at canonical ~ % ls -l /dev/pts/4
crw--w---- 1 root tty 136, 4 Nov 12 15:28 4
two bugs in sudo-rs:
- pty owner is wrong (should be the login user, not root)
- HOME is not set (it is in env_keep) (and it works with: lxc exec canonical -- sudo-rs HOME=/home/ubuntu -i -u ubuntu)
correct pty owning is important, otherwise e.g. gpg-agent can't show
pinentry on the terminal where gpg was invoked on!
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/rust-sudo-rs/+bug/2131153/+subscriptions
More information about the foundations-bugs
mailing list