问题描述
Ubuntu(或 Debian 衍生品)通过禁用 root 用户获得的实际好处是什么?
我读到的所有地方都说要防止没有经验的用户意外损坏。\n我想知道到底是什么,因为 sudo
可以执行所有命令(我知道/使用)。
那么在什么情况下 root 会造成损坏而 sudo
却不会呢?
PS:我知道 sudo
是如何工作的。
最佳方法
\\n
So in what case root can cause damage whereas sudo can’t?
\\n
由于每次你想做一些需要特权的事情时,你通常必须调用 sudo
,原因是你会“三思而后行”,即不只是将 sudo 放在某些东西前面而不考虑你的命令是什么跑步就可以了。
另一方面,对于 su
,一旦你加入了,你就加入了。你拥有全权委托(开放式许可证)做任何事情,原因是你可能会暂时忘记你拥有这些特权,如果你很不幸,执行了一些会严重影响/损坏你的系统的东西——如果你没有 su 权限,该命令不会做任何严重的事情。
次佳方法
IMO 与 su 相比,sudo 的主要优点是 sudo 可以更好地记录运行的命令,并且 sudo 可以更好地控制用户可以执行的操作。
su 是全部或无,但 sudo 可以配置为允许访问某些命令,但不是所有命令。
请参阅 https://help.ubuntu.com/community/RootSudo 以获取更完整的讨论,包括优点和缺点。
第三种方法
苏-
当以 root 身份登录时,您启动的任何任务、触发的操作或访问某个网站引起的随机事件等……都将作为 super-user 运行。
sudo
当您调用 sudo 并运行命令时,只有该命令将以 super-user 运行。
在执行命令之前,系统会要求您输入密码。因此还需要您的 user-interaction。
还可以记录调用 sudo 的尝试。
第四种方法
它是关于系统管理员的用户/密码管理。
如果您有多个用户,他们都应该有单独的帐户,并且应该能够使用这些帐户进行跟踪。这意味着人们无法隐藏自己的身份。此外,如果您需要撤销特定用户的权限,则不必重置 root 密码。为每个人提供超过 2 个管理员的环境,当一个人退出时,root 密码将成为一场噩梦。你不仅必须改变它,还必须传达它,等等。当其中一个人的笔记本电脑被盗或类似的事情时,所有这些事情也必须发生。每人一个帐户一个密码使管理更加简单。这类似于每个服务应该有自己的帐户背后的理念。如果一个帐户遭到泄露,您无需重新配置另外一打服务(例如备份任务)即可使用其他帐户。
我还发现,就我个人而言,不必再有另一个密码需要跟踪、丢失和泄露,这很方便。在 RHEL 上,我在配置 sudo 后专门禁用了 root 帐户,这样我就不必跟踪它。有时用户会破坏 sudo 文件,但这在 single-user 模式下是可以修复的。 (当然,它通常是生产机器。)
注意:’sudo bash’ 将允许您跳过为每个命令输入 sudo…