我可以从哪个日志中获取有关任何用户执行的sudo命令的详细信息。它应该包含工作目录,命令,用户。如果您可以提供一个shell脚本来这样做,将会很有帮助。
我可以从哪个日志中获取有关任何用户执行的sudo命令的详细信息。它应该包含工作目录,命令,用户。如果您可以提供一个shell脚本来这样做,将会很有帮助。
Answers:
根据您的发行版;只是:
$ sudo grep sudo /var/log/secure
要么
$ sudo grep sudo /var/log/auth.log
这使:
Nov 14 09:07:31 vm1 sudo: pam_unix(sudo:auth): authentication failure; logname=gareth uid=1000 euid=0 tty=/dev/pts/19 ruser=gareth rhost= user=gareth
Nov 14 09:07:37 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/yum update
Nov 14 09:07:53 vm1 sudo: gareth : TTY=pts/19 ; PWD=/home/gareth ; USER=root ; COMMAND=/bin/grep sudo /var/log/secure
在这种情况下,运行命令的用户位于sudo:
- 之后gareth
。
PWD
是目录。
USER
在此示例中gareth
是以-身份运行的用户root
。
COMMAND
命令执行了。
因此,在上面的示例中,gareth
用于sudo
先运行yum update
然后再运行此示例。在此之前,他输入了错误的密码。
在较新的系统上:
$ sudo journalctl _COMM=sudo
给出非常相似的输出。
Gareth解决方案的“结果过滤器”。(对于那些通过职务而不是描述来到达的人)
为您提供所有用户以sudo运行的仅命令的干净列表。
$sudo journalctl _COMM=sudo | sed -e '/COMMAND/!d' -e 's/.*COMMAND=//' -e 's/.*bin\///'
sed不可用时的解决方法
$sudo journalctl _COMM=sudo | grep COMMAND
C&P结果进入Google表格
在单元格B1 C&P中,此公式
=arrayformula(REGEXREPLACE(A1:A,".*AND=/usr/bin/(.*)","$1"))