向用户分配sudo特权而不使用root的实际好处是什么?


25

我对服务器管理还很陌生,我看到很多站点建议为由root用户创建的用户分配sudo特权,并为root用户提供一个疯狂的长密码以增强安全性。

但是,如果新创建的用户可以执行与root用户相同的功能,那么这样做的实际好处是什么?


7
sudoer不能做root可以做的所有事情,只有root允许sudoers进行sudo,而且sudoer仍然必须对命令进行sudo。最后,sudoers将sudo内容作为他们自己的用户帐户,首先意味着他们不必以root用户身份登录,其次意味着您可以查看谁在听东西。
KeithS 2012年

Answers:


48

使用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是有用的...)。
    当您执行此操作时,您还将获得与我上面提到的相同的审计线索好处。


1
很有帮助的答案-如果我知道(并且我是100%肯定的表示)我将成为唯一管理单个服务器的人,那么您将sudo特权分配给另一个用户是否有很多好处(无论如何我还是自己)除了防止自己搞砸之外?
JM4 '08

3
@ JM4的一致性,以及以后在较大环境中工作的一天的良好做法。从实践的角度来看,除非您在物理控制台上修复了用胶管固定的东西,否则切勿直接以root用户身份登录,因此sudosu学术上的区别是不同的-您将不得不跳过一个箍或另一个箍。使用sudo为您提供了在实践中行使最小特权原则(我的最后一点)的机会,而这始终是认真考虑的事情。
voretaq7'8

2
另外,使用visudo编辑您的sudoers文件。
贾斯汀·迪林

3
请注意,许多交互式命令将允许用户绕过审核跟踪。例如,任何sudo vi可以:! bash一次进入vi的用户。
Dietrich Epp 2012年

4
@DietrichEpp NOEXEC在这种情况下,标签会有所帮助。
Shane Madden

17

主要区别在于用户通过身份验证以sudo使用自己的密码,而通过su或直接进行root登录,则使用root密码。

这意味着您不必与all和sundry共享root密码,并且如果以后需要为一个或两个用户禁用root用户访问权限,则只需为他们禁用root用户访问权限,而不必更改密码。超级用户密码。

sudo还可以限制每个用户可以以root用户身份运行的命令,因此,如果特定用户不需要完全root用户访问权限,则只能授予他们对他们需要执行的任务的访问权限。


1
谢谢您的帮助。从您的角度来看,我看到了好处,但是考虑到我已禁用服务器上ssh的root用户登录,因此我也将基本用户作为root身份验证作为root用户。
2012年

4

除了给出的有效答案外,请不要忘记以root用户身份登录的用户可能会在每条命令中破坏系统。如果您在执行潜在危险的操作之前强迫他们键入sudo,至少您要使他们知道他们在执行特定命令之前需要仔细检查。


2

的确是这样-从控制和日志记录的角度来看,sudo更好。

例如-如果您执行su,则在日志中捕获的唯一事件是。此后的所有内容都作为根。而且,如果您曾经在Unix / Linux中查看过日志,您就会知道root会带来很多负担。

另一方面,Sudo几乎记录了原始用户的所有信息。


0

使用sudo会使恶意用户更难访问系统。当存在未锁定的root帐户时,恶意用户会在启动之前知道她要破解的帐户的用户名。锁定根帐户后,用户必须确定用户名和密码才能进入系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.