为什么Ubuntu有一个禁用的root帐户?

Ubuntu因“安全原因”禁用root登录。 然而,在我看来它根本没有帮助安全。

如果入侵者设法获取Ubuntu的登录密码,那么他也有超级用户密码,因为它与登录密码相同。

但是,如果需要root密码,那么只需登录就不会对入侵者造成太大帮助 – 这是不对的?

所以基本上,我想知道的是: 为什么Ubuntu选择禁用root密码? 安全原因是什么?

请不要根据你的“思考”原因回答 – 我正在寻找官方消息的答案,或者与他们联系。

米奇在评论中发布了一个很好的链接: 为什么以root身份登录不好? 和Debian网站在他们的维基中列出了主要的好处:

为何选择sudo

使用sudo比以root身份打开会话更好(更安全),原因有很多,其中包括:

  • 没有人需要知道root密码( sudo提示输入当前用户的密码)。 可以临时授予个人用户额外的权限,然后在不需要更改密码的情况下将其删除。

  • 通过sudo只需要运行需要特殊权限的命令很容易; 在剩下的时间里,你作为一个没有特权的用户工作,这减少了错误可能造成的损害。

  • 审计/日志记录:执行sudo命令时,将记录原始用户名和命令。

由于上述原因,通常不推荐使用sudo -i (或sudo su )切换到root,因为它取消了上述function。

关于Ubuntu 我们的维基上列出了利弊:

使用sudo的好处

默认情况下,Ubuntu有许多优点可以禁用root登录,包括:

  • 安装程序的问题较少。 用户不必记住偶尔使用的额外密码(即root密码)。 如果他们这样做了,他们可能会忘记它(或者不安全地记录它,允许任何人轻易地破解他们的系统)。

  • 它默认情况下避免了“我可以做任何事情”的交互式登录。 在发生重大更改之前,系统会提示您输入密码,这会让您考虑到您正在做的事情的后果。

  • sudo添加了命令运行的日志条目(在/var/log/auth.log )。 如果你陷入困境,你可以回去查看运行的命令。

  • 在服务器上,每个尝试暴力破解的黑客都会知道它有一个名为root的帐户,并会先尝试。 他们不知道的是你的其他用户的用户名是什么。 由于root帐户密码被锁定,因此这种攻击基本上没有意义,因为首先没有密码可以破解或猜测。

  • 通过在组中添加和删除用户,可以轻松转移管理员权限。 使用单个root密码时,取消授权用户的唯一方法是更改​​root密码。
  • sudo可以使用更细粒度的安全策略进行设置。 root帐户密码不需要与需要在系统上执行某种类型的管理任务的所有人共享(请参阅上一个项目符号)。

  • 身份validation会在短时间后自动过期(可以设置为所需的最小值或0); 因此,如果您在使用sudo以root身份运行命令后离开终端,则不会无限期地打开根终端。

使用sudo的缺点

虽然对于台式机来说使用sudo的好处很大,但仍有一些问题需要注意:

  • 重定向使用sudo运行的命令输出需要不同的方法。 例如,考虑sudo ls > /root/somefile将无法工作,因为它是尝试写入该文件的shell。 你可以使用ls | sudo tee -a /root/somefile ls | sudo tee -a /root/somefile to append,或ls | sudo tee /root/somefile ls | sudo tee /root/somefile来覆盖内容。 您还可以将整个命令传递给在sudo下运行的shell进程,以便使用root权限写入文件,例如sudo sh -c "ls > /root/somefile"

  • 在许多办公环境中,系统上唯一的本地用户是root用户。 所有其他用户都使用NSS技术导入,例如nss-ldap。 要设置工作站或修复它,如果网络出现故障,nss-ldap被破坏,则需要root。 除非破解,否则这会使系统无法使用。 此处需要额外的本地用户或启用的root密码。 本地用户帐户应该在本地磁盘上具有$ HOME, 而不是在NFS(或任何其他网络文件系统)上,以及不引用NFS挂载上的任何文件的.profile / .bashrc。 root通常就是这种情况,但如果添加非root救援帐户,则必须手动采取这些预防措施。 然而,使用具有sudo的本地用户的优点是可以容易地跟踪命令,如上面的益处中所提到的。

我们一直都有它(从第一版开始)。


我发现的最早的参考文献说4.10有“sudo”

SHUTTLEWORTH推出基于DEBIAN的UBUNTU LINUX

…基于Debian的Ubuntu Linux包括Gnome 2.8,内核2.6.8.1,OpenOffice.org 1.1.2,并附带基于文本但易于安装的程序。 Ubuntu禁用了root用户更喜欢使用sudo,就像Mac OSX一样…

我相信帮助页面上写的内容足够清晰且足够客观。

Ubuntu是“适合每个人” ,虽然如果你足够好,你不需要root访问权来损坏你的计算机,同时你根本不需要它(你知道如何轻松启用它)。
所以问题不在于那些“足够好”的人,而是对于其他所有人来说,这可能来自另一个计算领域的Linux,而第一个影响是Ubuntu(我们很多)。

如果您不是专家并且不确切知道root是什么以及如何正确处理它,那么您既不想要也不需要启用它(例如,冒险使用它进行图形登录)。
学习如何安全地做事情然后继续前进到更难和更危险的道路要好得多,而不是直接用艰难的方式开始然后损坏您的安装/工作站,感到沮丧并且可能无法恢复完全正常工作系统。
一般来说,预防要比治愈好得多。