要做到这一点,我似乎有两个选择:
- 将(用户)添加到 sudo 组:
# usermod -aG sudo <user>
- 将(用户)添加到 /etc/sudoers
# visudo /etc/sudoers
.........
<user> ALL=(ALL:ALL) ALL
....
Are these two methods equivalent, or is one better than the other, and why?
答案1
sudo
您的方法#1(将用户添加到组)有效的原因是因为您/etc/sudoers
已经包含以下行:
@sudo ALL=(ALL:ALL) ALL
即“让该组中的任何成员sudo
以所有用户的身份通过该命令运行所有命令sudo
”。
所以是的,在以该行作为标准的系统中,这两种方法的效果完全相同。如果你使用user1
方法 1 授予 sudo 访问权限,user2
使用方法 2 授予 sudo 访问权限,然后比较以下输出:
sudo -l -U user1
sudo -l -U user2
您会发现sudo
用户的最终配置以及最终的输出将是相同的。
但是,您应该注意到,sudo
组成员身份本身也是有用的:您可以使用它使某些日志对管理员来说是可组读取的,即使他们当前没有主动使用他们的 root 权限,或者您可以创建一个目录,让任何有 root 权限的人都可以对其进行组写入,并将其用于系统管理员文档。
因此,如果你想做其中任何一件事,或者甚至认为你可能在将来的某个时候做这件事,我会说方法 1 会稍微好一点。但无论你选择什么,我都建议你选择一种方法,坚持下去为了保持一致性:不要使用方法 1 添加一些用户,而使用方法 2 添加其他用户。