找出哪个用户在Linux中启动根进程

时间:2018-04-13 16:32:45

标签: linux process root

假设某人使用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背后的用户?

2 个答案:

答案 0 :(得分:-1)

这可能适合你。它从/var/log/auth.log

获取使用sudo执行的命令
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