我试图理解 sudoers 文件,但我有一些不明白的事情。
这行:
root ALL=(ALL) ALL
任何主机上的用户root
(主机是什么意思,你能给我一个真实的例子吗)可以以任何用户身份运行任何命令。
如果我删除这一行会发生什么?
如果我添加了这一行:username=ALL(ALL) ALL
,是否意味着该用户名具有与 root 相同的权限,因为它们都具有相同的设置?
我也有一行%sudo ALL=(ALL) ALL
,但是如果我列出组,我看不到任何名为 sudo 的组。
我也有一行%wheel ALL=(ALL) ALL
,但为什么我有这一行和带有 sudo 的行?这些线不是一样的吗?
答案1
主机名可以在文件中指定sudoers
为特定主机或一组主机。这允许管理员将文件的单个副本分发到多个主机,而无需为每个主机定制每个文件。一台主机上的用户可能只能sudo
访问特定命令,而同一用户可以sudo
访问另一台主机上的另一个命令或一组命令。两台主机上的文件sudoers
可以保持相同。
您不应删除赋予 root 使用sudo
.允许 root 使用sudo
意味着允许已经以 root 身份登录的人轻松地以另一个用户身份执行命令(并且还可以将其记录下来以进行审核)。
一行说username=ALL(ALL) ALL
将包含语法错误。使用username ALL=(ALL) ALL
将使用户username
能够执行sudo
运行任何命令。
sudo
您的系统上可能不存在该组。不过,没有什么可以阻止您创建它,并添加应该sudo
对该组具有完全访问权限的用户。此工具允许您sudo
通过向指定组添加和删除用户来管理访问权限,因此无需编辑sudoers
文件即可添加或删除sudo
用户的访问权限。
该wheel
组主要用于 BSD 系统,并且传统上是这些系统上 root 用户的主要组。同样,您的系统可能没有这个组。
也可以看看
- 轮组(维基百科)