Security
如何讓 sudo -u $user 使用使用者環境?
似乎在使用時
sudo
仍在sudo -u $user
使用 root 環境。如何sudo
使用使用者環境?作為特別說明,並非我將使用它的所有使用者都有登錄 shell。
嘗試
sudo -i -u $user
gerald@book:~$ env |grep HOME HOME=/home/gerald gerald@book:~$ sudo -u ubuntu env |grep HOME HOME=/home/gerald gerald@book:~$ sudo -i -u ubuntu env |grep HOME HOME=/home/ubuntu
man sudoers
關於 Debian 提到了另一種可能性。不確定您想要哪種方式,但您的問題聽起來像是您想要從中env_reset
選擇/etc/sudoers
- 相反基本上是env_keep
列表。為了設置正確HOME
,您可以直接使用該-H
選項,sudo
或者再次sudoers
使用該always_set_home
選項。或者,您可以使用
env_file
指定要傳遞的*確切環境。*但是,我認為最好查看 中的env_*
選項man sudoers
,因為/etc/sudoers
它可以控制一切,這就是要轉向的重點。這是我
env_reset
在sudoers
文件中使用的部分上下文:Defaults !lecture Defaults env_reset Defaults syslog=auth Defaults log_year