事件真正报告给谁,sudo 用户如何访问报告?

Tim*_*Tim 56 sudo

当我的非 sudo 帐户尝试运行 sudo 命令时:

nonsudo@Hairy14:$ sudo hello
Run Code Online (Sandbox Code Playgroud)

报道了一个事件:

[sudo] password for nonsudo: 
nonsudo is not in the sudoers file.  This incident will be reported.
Run Code Online (Sandbox Code Playgroud)

我猜这不是真正的圣诞老人,那么它向谁(或在哪里)报告以及我如何访问它?

事件

(来自xkcd,作者:兰德尔·门罗)

Tim*_*Tim 44

图片的标题可能会给我们一个线索:

他会在你睡觉的时候看到你,他知道你什么时候醒来,他被复制了/var/spool/mail/root,所以看在上帝的份上。

是什么/var/spool/mail/root内容?呃,对我来说,作为一个普通用户没有什么:

cat: /var/spool/mail/root: No such file or directory
Run Code Online (Sandbox Code Playgroud)

sudo. 对我来说,没有/var/spool/mail/root


事实证明,Ubuntu 是不同的——默认情况下,root 的邮件会发送到/dev/null,或者您计算机中的黑洞。

要找到我们的日志,我们需要查看

/var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

瞧,asudo cat给了我们这一行:

Jun 25 22:45:07 Hairy14 sudo:  nonsudo : user NOT in sudoers ; TTY=pts/21 ; PWD=/home/tim ; USER=root ; COMMAND=/usr/bin/hello
Run Code Online (Sandbox Code Playgroud)

请注意,有时(例如,如果您的帐户没有密码,被禁用)它根本不会让您运行该命令 - 但它仍然会以相同的方式报告:

Jun 25 22:44:17 Hairy14 sudo:  nonsudo : user NOT in sudoers ; TTY=pts/21 ; PWD=/home/tim ; USER=root ; COMMAND=/usr/bin/hello
Run Code Online (Sandbox Code Playgroud)

请注意,除了“顽皮”报告之外,还有很多其他文字。您可能需要 grep。

  • 并不是说 Ubuntu 很特别,而是根本没有配置邮件。当我设置服务器时,我做的第一件事就是配置 `sudo` 以开始发送邮件(`mail_badpass` 是选项,IIRC),并设置 root 的邮件以转到管理员的邮件列表。 (3认同)
  • @Tim 有什么方法可以将发送到“/dev/null”的邮件发送到实际的域(Gmail 或类似的域)? (2认同)