我从 sudoers 文件中删除了我的普通用户,但它仍然是 sudo 组的一部分,该组拥有 sudoers 文件中授予的所有权限。当我尝试以普通用户的身份在 sudo 中执行任何命令时,系统提示该用户未在 sudoers 中列出。我原本以为 sudo 命令会正常执行,因为普通用户是 sudoers 中列出的组的一部分。我的问题是,如果我们还应该指定所有单个用户(在 sudoers 中),以便他们使用 sudo 执行命令,为什么还要指定组的权限?
答案1
sudoers 文件中组权限的用途是为了能够方便地从 /etc/sudo 组中添加或删除用户,以授予或删除sudo
访问权限。
默认/etc/sudoers
文件允许该sudo
组执行sudo
命令。要恢复此默认设置,您必须将文件修改回默认设置。将您的/etc/sudoers
文件与此默认文件进行比较:
# # 必须以 root 身份使用“visudo”命令编辑此文件。 # # 请考虑在 /etc/sudoers.d/ 中添加本地内容,而不是 # 直接修改此文件。 # # 有关如何编写 sudoers 文件的详细信息,请参阅手册页。 # 默认 env_reset 默认 mail_badpass 默认值 secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # 主机别名规范 # 用户别名规范 # 命令别名规范 # 用户权限规范 根 ALL=(全部:全部) 全部 # admin 组的成员可以获得 root 权限 %admin 全部=(全部) 全部 # 允许 sudo 组成员执行任何命令 %sudo ALL=(全部:全部) 全部 # 有关“#include”指令的更多信息,请参阅 sudoers(5): #includedir /etc/sudoers.d
导致您出现问题的原因最有可能是大胆的。
为了使其正常工作,/etc/group
条目还需要正确格式化:
sudo
文件中的条目/etc/group
:
sudo:x:27:ljames,user1,user2