sudoers 如何工作?

sudoers 如何工作?

在安装过程中,我们像往常一样创建主用户帐户,然后就可以毫无问题地使用它执行 sudo 命令。现在,当我创建另一个帐户并想要执行 sudo 时,系统提示我该帐户不在 sudoers 文件中。在该文件中,我发现 %admin 和 %sudo 组中的用户可以获得 root 权限。但我的主帐户不属于这两个组,我可以毫无问题地使用它执行 sudo,但使用另一个帐户则不行。除了 sudoers 之外,还有什么我应该知道的吗?谢谢

答案1

admin 和 sudoer 组应授予用户所需的访问权限。您必须注销用户并重新登录才能使更改生效。请查看以下答案,获取一些非常好的说明:

如何从命令行创建管理员用户?

答案2

为了回答这个一般性问题,一些程序使用 polkit 来筛选 root 权限的机制,而不是使用该/etc/sudoers方法。(例如,我记得 gparted)。该sudo命令使用/etc/sudo/etc/sudoers.d/*因此请务必检查每个文件。顺便说一句,LDAP 可以用于获取信息。

我的系统是 12.04,我的 sudo 帐户在sudo组中。我的相关 polkit 文件是/etc/polkit-1/localauthority.conf.d/50-localauthority.conf/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf。您的可能有所不同。


我假设您意识到,如果 sudoers 文件说%sudo这意味着用户必须在sudo组中。我假设,但不知道,在策略(或组)更改后,长期凭证可能会继续存在。不过,如果这样做了,我想你会知道的。

为了进一步探究,我建议您发布目录和树/etc/sudoers中及树下的文件内容,并告诉我们这两个用户 ID 被添加到了哪些组。我不相信我提到的文件中有任何密码或哈希值。/etc/sudoers.d//etc/polkit-1/

相关内容