设置 root 密码与 sudo -i

tim*_*son 2 security password root su sudo

应该始终设置root密码,还是可以sudo -i 接受?阅读其他帖子有两个问题(我意识到可能是垃圾)

  1. sudo -i无需密码。这不是出于安全原因的问题吗?
  2. 关于是否更改密码的原始哈希值存在冲突的观点:

默认情况下,root 用户在安装 Ubuntu 期间使用随机散列设置

如果应该使用原始哈希值,我不知道我的是什么。我如何找回它?

最后,如果多人将使用 root 帐户(密码共享最佳实践),答案是否会改变?

psu*_*usi 7

原因sudo比拥有 root 密码并su在多管理员环境中使用更好,因为使用su,每个管理员都必须知道 root 密码,因此如果您想撤销管理员的访问权限,则必须更改密码,并告诉所有人其他管理员。随着sudo您刚刚从管理员组中删除它们。

sudo还提供了更细粒度的控制,因为您可以对其进行配置,以允许人们仅以 root 身份运行一组特定的命令。例如,您可以允许帮助台人员运行passwd以重置用户的密码,而无需授予他们完全的 root 访问权限。

你提到的报价实际上是错误的。Ubuntu默认锁定root账户,所以没有密码,但不能以身份登录。它也有一个补丁,sulogin所以如果 /etc/shadow 中列出的值是一个空的“!” 字符(默认、锁定、无密码值),那么单用户/恢复模式将不会提示您输入 root 密码登录。

  • @timpeterson,是的.. 如果你想要一个 root shell 而不是仅仅用 `sudo` 作为单个命令的前缀,那么 `sudo -i` 或 `sudo -s` 是你要走的路。两者之间的区别在于 `-s` 保留了您的环境,例如,`~` 仍然指的是您的主目录,而不是根目录。这通常是首选行为。与此差异等效的 `su` 是 `su` 与 `su -`。 (2认同)