当我的非 sudo 帐户尝试运行 sudo 命令时:
nonsudo@Hairy14:$ sudo hello
报告了一起事件:
[sudo] password for nonsudo:
nonsudo is not in the sudoers file. This incident will be reported.
我猜这不是真正的圣诞老人,那么它向谁报告(或向哪里报告)以及我如何才能访问它?
(从韓國(作者:兰德尔·芒罗)
答案1
图片的标题或许能给我们一些线索:
当你睡觉时他能看到你,当你醒来时他知道你,他会抄袭你
/var/spool/mail/root
,所以为了善良,要心存善念。
包含什么/var/spool/mail/root
?呃,对于我这个普通用户来说什么都没有:
cat: /var/spool/mail/root: No such file or directory
对我来说sudo
,没有/var/spool/mail/root
事实证明,Ubuntu 有所不同——默认情况下,root 的邮件会发送到/dev/null
,或者您计算机中的黑洞。
要找到我们的日志,我们需要查看
/var/log/auth.log
你瞧,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
请注意,有时(例如,如果您的帐户没有密码,被禁用)它根本不会让您运行该命令 - 但它仍然会以相同的方式报告:
Jun 25 22:44:17 Hairy14 sudo: nonsudo : user NOT in sudoers ; TTY=pts/21 ; PWD=/home/tim ; USER=root ; COMMAND=/usr/bin/hello
请注意很多其他文本以及“不良”报告。您可能需要 grep。
答案2
journalctl 方法
一种方法是查看journalctl
输出。journalctl /usr/bin/sudo
将列出与该特定可执行路径相关的所有消息,并且报告的事件将以漂亮、明显的红色突出显示,如下所示:
journalctl -f /usr/bin/sudo
仅显示最近的日记条目,并在新条目追加到日记时连续打印它们。这仅在报告的事件最近发生时才有用。
GNOME 日志
查找此类事件的另一种方法是使用默认的日志应用程序,该应用程序在最近的 Ubuntu 版本中默认安装。一个简短的截屏视频展示了如何通过 GNOME Logs 完成此操作:https://webm.red/view/yc0w.webm
- 打开应用程序;
- 从左侧的类别列表中选择“全部”;
- 调用搜索栏并
- 只需输入“sudo”。
但它缺少 journalctl 的突出显示。