在sudo命令更改用户后,Tilde (~)不返回当前用户的主目录,而是返回先前登录用户的主目录。我需要使用echo ~USERNAME进行扩展,但我需要使echo ~保持现有应用程序的兼容性。
user1@server1:-$ whoami
user1
user1@server1:-$ sudo -u user2 -s /bin/bash
user2@server1:-$ whoami
user2
user2@server1:- echo ~
/home/user1
user2@server1:-$ echo ~user2
/home/user2发布于 2022-05-03 22:56:50
sudo不一定要更改调用方的主目录。您需要使用-H来确保这一点
sudo -H -u user2 -s或
sudo -u user2 -i详细信息请参见man sudo
发布于 2022-05-03 23:04:42
sudo命令不设置HOME环境变量。为此,我们需要将set_home或always_set_home添加到sudoers文件中。
https://unix.stackexchange.com/questions/701323
复制相似问题