我有一个启动器,gksu -u someuser firefox
为什么此启动器需要 root 密码而不是当前登录用户的密码。密码窗口显示以下消息:
"Enter YOUR password to run the application firefox as someuser"
笔记:
- 在我的系统上,我强制要求所有 sudo 请求都使用 root 密码。
/etc/sudoers
在Defaults rootpw
someuser
有一个/usr/sbin/nologin
登录 shell
根据 gksu 手册页:“gksu 是 su 的前端,而 gksudo 是 sudo 的前端。”但是,在上述情况下,gksu 不使用 su 而是使用 sudo 作为后端——需要 root 密码(在这种情况下,密码窗口中显示的消息不合适)。
当强制 gksu 使用 su 作为后端(例如 中)时gksu -w -u someuser firefox
,命令会失败。这可能与具有shell
有关。someuser
/usr/sbin/nologin
- 为什么在这种情况下使用 sudo 是默认行为甚至是绝对要求?
- 为什么
gksu -u someuser
当 sudo 是后端并且someuser
不是 sudo 组的成员时仍然运行? - 所有这一切的底层逻辑是什么——因为 gksu 手册页不是很详细?
- 非常重要的是,在这种情况下运行 sudo 与 su 相比有哪些安全风险?
- 有没有其他方法可以使用 nologin shell 以受限用户身份运行 Firefox?
答案1
因为你“强制所有sudo
请求都要输入 root 密码”
gksu
从所有意图和目的来看都是图形化的sudo
。我希望这可以消除您可能仍然存在的任何困惑。
注意:有些答案太简单,不需要长篇大论。这就是其中之一。