列出过去 30 天内通过“su”成为 root 的用户

列出过去 30 天内通过“su”成为 root 的用户

如何获取在 Linux 中使用su命令的用户的历史记录root(在我的具体情况是 SuSe)?

答案1

@Eduardo Trapani 的评论是正确的。搜索/var/log/auth.log的整个单词出现次数su(1)

# grep -w su /var/log/auth.log
Jun  9 23:33:47 <auth.notice> jimsdesk su[30048]: jim to root on /dev/pts/0

上面的示例表明用户于 6 月 9 日 23:33:47jim进入。root

如果您想知道执行了哪些实际命令,您应该实现 @waltinator 的使用建议,sudo(8)或者希望该/root/.history或类似的历史文件没有被覆盖或绕过。无论如何,在不使用rootwhere 的情况下,历史文件不会帮助弄清楚谁做了什么(如果这是一个问题) 。sudo

答案2

@吉姆·L。是在正确的轨道上:)

不过,在现代 Linux 上,您通常不会主动保留 /var/log/auth.log。相反,同样的想法,但是journalctl

journalctl --since=2021-05-09

您需要使journalctl安静(-q)并使其仅打印su的成功身份验证:

journalctl --since=2021-05-09 -q -g 'pam_unix\(su:session\): session opened for user root'

如果我们只关心这些的数量:

journalctl --since=2021-05-09 -q -g 'pam_unix\(su:session\): session opened for user root' | wc -l

相关内容