在 Bash 中完全切换用户(GNOME/密钥环问题)

在 Bash 中完全切换用户(GNOME/密钥环问题)

我对在终端中以“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 argumentspkexec [command] arguments)来规避。

您可以su user1以 root 身份(或者如果您知道密码,则以任何其他用户身份)来运行 shell user1

相关内容