默认情况下,Ubuntu 不会创建用户可以登录的 root 帐户。相反,用户使用sudo
当他们需要执行需要管理访问权限的操作时。
显然,Ubuntu 的人们觉得这是一个好主意,我在 Ubuntu 网站上读到的所有内容都给出了他们认为这是一个好主意的充足理由。好的想法(参见RootSudo @ Ubuntu Wiki, 例如)。
然而,许多其他主流发行版,例如 Debian、Gentoo 等,默认情况下不会这样设置,我正在尝试找出原因。如果 Ubuntu 的默认 sudo-root 设置是一个好主意,为什么其他主流发行版不也这么做呢?这让我相信,不以这种方式设置可能有充分的理由;但我很难找到任何提供这方面细节的内容。我找到的只是谈论它有多么伟大的文章/帖子......
所以我的问题是:Ubuntu 的 sudo 设置是否存在任何阻止其他发行版使用此设置的重大问题(不安全、功能限制等),如果有,它们是什么?当然,这可能只是一个好主意,但其他发行版却迟迟没有接受或抵制,因为它与过去 30 年的运作方式不同。如果是这样的话,我想知道这一点。
答案1
我知道的唯一非主观缺点是,当 root 用户没有设置密码时,它允许在没有密码的情况下访问单用户模式。
一台真正安全的机器将处于锁定状态,禁用从可移动媒体启动,设置 BIOS 密码以防止更改,设置引导加载程序密码以防止内核启动命令行被更改(因此无需添加init=/bin/sh
),并且密码将是需要访问单用户模式。
答案2
当您使用 vi 而不是 visudo 在远程系统上编辑 /etc/sudoers 并弄乱语法时,您将无法再使用 sudo,也无法使用 su,因为没有设置 root 密码。
我已经做到了。我从中吸取了教训。它燃烧了。 :-)
答案3
基本上,sudo 为您提供管理权限。如果您没有 root 帐户,并且您的用户有ALL=(ALL) ALL
in /etc/sudoers
,那么您的用户就是超级用户。不建议这样做,因为您可以使用sudo
您的用户密码以管理权限执行命令。
管理员必须配置sudo
为允许用户执行某些命令,但某些管理任务将是root
唯一的,root
真正的管理任务也是如此超级用户。
真正的问题是特权就是特权。最安全的系统将只有 1 个超级用户,它是root
.
看这