假设某人使用sudo运行htop
:
$sudo htop
我知道我们可以通过以下方式获取htop
进程的用户名:
$ps aux | grep htop
但在这种情况下,它只返回root作为用户名:
$ps aux | grep htop
root 21186 0.0 0.0 71256 4148 pts/2 S+ 17:16 0:00 sudo htop
root 21187 2.6 0.0 31460 5128 pts/2 S+ 17:16 0:21 htop
如何找出root
背后的用户?
答案 0 :(得分:-1)
这可能适合你。它从/var/log/auth.log
:
awk '/sudo/&&/COMMAND/ {
print gensub(/sudo: ([^ ]*).*USER=([^ ]*).*COMMAND=([^ ]*)/,
"\\1 (as \\2) command: \\3", 1)
}' /var/log/auth.log
答案 1 :(得分:-1)
只需在grep
或/var/log/secure
上使用/var/log/auth.log
(取决于发行版):
$ sudo grep sudo /var/log/secure
(或)
$ sudo grep sudo /var/log/auth.log
如果这两个不起作用,请使用sudo journalctl _COMM=sudo
它将输出为:
Apr 14 00:23:35 hell-abhi sudo[14519]: hell_abhi : TTY=pts/1 ; PWD=/home/hell_abhi ; USER=root ; COMMAND=/bin/journalctl _COMM=sudo
Apr 14 00:21:43 hell-abhi sudo[14348]: hell_abhi : TTY=pts/0 ; PWD=/home/hell_abhi ; USER=root ; COMMAND=/bin/nano
该表显示:日期,时间,用户,pid,终端,目录,使用的命令。
在这里你可以看到:hell_abhi从sudo nano
(他的主目录)运行/home/hell_abhi
。