我对在终端中以“user1”身份运行命令和以“sudo -Hiu user1 [command]”身份运行命令之间的区别感到困惑。
如果我运行
/home/user1/script.sh
,脚本会成功调用访问 GNOME/Keyring 的程序,并且该程序会毫无问题地获取密码。
但是,如果我运行sudo -Hiu user1 /home/user1/script.sh
,脚本调用的程序将无法成功访问 GNOME/Keyring。
以 user1 身份执行命令和运行命令之间有什么区别?sudo -Hiu user1 [command]
如何在 bash 中将用户从 root 完全更改为 user1?
答案1
尽管存在一些细微的差异(如您的问题中提到的),但runningsudo -Hiu user1 [command]
与 running [command]
as user1
(甚至 running )之间本质上没有区别。sudo [command]
其中大多数与 GNOME 有关,可以通过使用命令gksudo
(或在较新的系统上使用admin:///full/path/to/command arguments
或pkexec [command] arguments
)来规避。
您可以su user1
以 root 身份(或者如果您知道密码,则以任何其他用户身份)来运行 shell user1
。