sudo 发送烦人的警报:默认条目问题

bgS*_*k15 25 sudo

tl;博士

Sudo 会导致额外的、无用的“默认条目问题”警报

环境

Ubuntu 16.04 服务器 LTS,sudo 1.8.16

问题

每当用户(无论是 sssd-ad 身份验证用户、本地用户还是 root 用户)使用sudo 时,它都可以工作。但是,它也会向管理员发送一封无用的电子邮件:

host1.example.com : Jun  6 14:40:44 : root : problem with defaults entries ; TTY=pts/2 ; PWD=/root ; 
Run Code Online (Sandbox Code Playgroud)

没有默认条目了!我在故障排除期间删除了它们。我试着把它们留在里面。顺便说一下,它们是:

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Run Code Online (Sandbox Code Playgroud)

我找不到问题!我删除了所有额外的 sudoers 指令,而 sudo(从 root 用户)仍然抛出错误!

如何让 sudo 停止向我发送无用的电子邮件?

bgS*_*k15 40

解决方案

这个问题是由 sudo 在它找不到的地方寻找指令引起的:sss。检查 /etc/nsswitch.conf 文件并修改 sudoers 条目。

sudoers:        files sss
Run Code Online (Sandbox Code Playgroud)

sss 不应该在那里。sssd-ad 包将自己添加到那里,但很少有环境在 sss 中存储 sudoers 指令。你的指令更有可能是本地的,所以你应该有一个 /etc/nsswitch 文件条目,如下所示:

sudoers:        files
Run Code Online (Sandbox Code Playgroud)

参考

RHEL6 的用户有同样的问题。https://bugzilla.redhat.com/show_bug.cgi?id=879633
这个问题是可以解决的,包括在 Ubuntu 16.04 https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1249777
https:// /bgstack15.wordpress.com/2016/06/06/solve-sudo-sending-useless-emails-problem-with-defaults-entries/

  • 如果`sudoers:` 根本不存在于`/etc/nsswitch.conf` 中?(没有安装`sssd`...) (3认同)

小智 5

请注意,当您实际上没有使用 sssd 的 sudoers 功能时,接受的解决方案只会关闭电子邮件。

它正在解决该问题,直到 sssd-ad 的下一次更新,它将在下一次更新时再次开始发送。我相信打包人员正在研究解决 nsswitch 指令的这种破坏。

当您确实想使用 AD/freeIPA 中的 sudoers 条目时,请继续阅读:

当您拥有 sudo 指令的实际上游提供程序时,您应该设置以下内容:

$ grep -A 1 "[sssd]" /etc/sssd/sssd.conf
[sssd]
services = nss, sudo, pam, ssh
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这不会在 freeipa-client 安装时停止发送消息。仍在为此努力。如果我找到了什么,我会在这里添加

  • 我遇到了同样的错误并且正在使用 FreeIPA。正如您所提到的,如果您需要 sudoers 与非本地 FreeIPA 用户一起工作,那么接受的解决方案是不可行的。就我而言,systemd 服务正在调用 sudo(以 root 身份)来切换用户,这发生在 NSS 用户查找服务运行之前。我将此添加到服务文件的单元部分,它似乎解决了我的问题:```After=sssd.target nss-user-lookup.target``` (2认同)