在 Ubuntu 14.04 LTS 系统上,当我以远程目录用户 (sssd) 登录时,系统会提示“root 密码”。我的用户帐户配置为 sudoer,既直接配置,也通过组配置(从目录):
fred:~$ sudo egrep -v '^(#|$)' /etc/sudoers
[sudo] password for brett:
...
%sudoers ALL=(ALL) ALL
fred ALL=(ALL) ALL
fred:~$ getent group | grep sudoers
sudoers:*:00000000:joe,fred,peter
fred:~$ getent passwd | grep fred
fred:*:00000:11111111:Fred:/home/fred
密码和组都来自目录 (kerberos)。我可以在控制台中使用 sudo,但 UI 提示输入 root 密码(root 没有密码,我希望保持这种状态) - 在其他系统上,我总是被提示输入自己的密码,以便在后台进行 sudo 操作。
gksu
之前没有安装,不确定是否需要,但已安装它,但仍然得到同样的东西。
如果当前用户是 sudoer,是否可以配置 GUI 来提示输入当前用户密码而不是 root 密码?
编辑1
polkit 似乎也参与其中。我尝试将远程目录中的“sudoers”组名更改为“sudo”,但不确定拥有 2 个同名但不同 ID 的组是否是个好主意。我已通过编辑将 sudoers 组添加到 AdminIdentities /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
。没有立即成功,但现在正在重新启动以查看它是否能解决问题。
答案1
将用户添加为 sudoer 对于 GUI 来说是不够的 - 用户/组还需要在 polkit 中配置为管理员。例如,如果您想允许非标准/自定义组的所有成员以sudocustom
图形方式运行 sudo,假设他们配置为 sudoers,您可以/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
从以下位置进行修改:
AdminIdentities=unix-group:sudo;unix-group:admin
到
AdminIdentities=unix-group:sudo;unix-group:admin;unix-group:sudocustom
这样您就可以从组列表中选择要提升的用户(即,所有成员sudo
及admin
以上sudoers
)。