Answers:
使用sudo
移交根密码有很多好处。没有特别的顺序:
您不需要提供根密码
通常,如果有人离开了您的公司并且他们知道根密码,那么您现在必须在任何地方更改这些密码。使用适当的配置管理,这是一个小麻烦。没有它,这是一个繁重的工作。
您并没有放弃进入王国的钥匙,而是
sudo
允许您指定用户可以运行的命令的受限列表,因此,如果您决定爱丽丝只需要停止和启动Apache的能力,而鲍勃则需要完整的root权限,则可以设置他们相应地。
您可以集中管理
sudo
支持LDAP配置的授权,这意味着公司中的每个系统都可以查看中央LDAP服务器来确定允许谁执行操作。
是否需要授权(或取消授权)某人?更改LDAP中的sudoers配置,所有系统将立即更新。
这里有一个审计跟踪
与被允许做用户除外sudo su -
,sudo sh
或等价的东西,sudo
会产生哪些用户已运行哪些命令的审计线索。
(它还会列出给自己一个未登录的root shell的人员列表,因此您可以将矛头指向他们和他们的嘶嘶声。)
sudo
是不是仅仅根更多的好
每个人都集中在sudo
作为一种做的东西作为苏每用户,但这不是所有它的好。
说爱丽丝负责特定的软件构建,但是鲍勃也应该能够运行构建脚本。您可以给Bob设置一个sudoers条目,让他以Alice的用户身份运行构建脚本。(是的,当然,有很多更好的方法来处理这种特殊情况,但是原则Let user A run a program as user B
是有用的...)。
当您执行此操作时,您还将获得与我上面提到的相同的审计线索好处。
sudo
与su
学术上的区别是不同的-您将不得不跳过一个箍或另一个箍。使用sudo
为您提供了在实践中行使最小特权原则(我的最后一点)的机会,而这始终是认真考虑的事情。
sudo vi
可以:! bash
一次进入vi的用户。
NOEXEC
在这种情况下,标签会有所帮助。
主要区别在于用户通过身份验证以sudo
使用自己的密码,而通过su
或直接进行root登录,则使用root密码。
这意味着您不必与all和sundry共享root密码,并且如果以后需要为一个或两个用户禁用root用户访问权限,则只需为他们禁用root用户访问权限,而不必更改密码。超级用户密码。
sudo
还可以限制每个用户可以以root用户身份运行的命令,因此,如果特定用户不需要完全root用户访问权限,则只能授予他们对他们需要执行的任务的访问权限。