我通常执行“watch -n0.1 w”来查看用户在持续执行的操作。但是,如果用户执行“sudo -i”,成为 root 并执行某些操作,我就无法再看到他的活动了。
举个例子:我打开了 3 个会话。在第一个会话中,我检查“watch -n1 w”以查看其他用户在做什么。在第二个会话中,我执行“sudo -i”,然后执行“vim session2.txt”。在第三个会话中,我执行“vim session3.txt”
Every 1.0s: w
15:31:37 up 63 days, 3:54, 3 users, load average: 0.05, 0.29, 0.26
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user1 pts/1 192.168.1.13 14:40 4.00s 0.50s 0.02s sshd: user1 [priv]
user1 pts/2 192.168.1.13 15:21 9:37 0.18s 0.02s sshd: user1 [priv]
user1 pts/3 192.168.1.13 15:24 7:21 0.14s 0.05s vim session3.txt
如您所见,我看不到会话 2 上用户正在执行“vim session2.txt”(在 sudo -i 中),但我可以看到会话 3 上用户正在执行“vim session3.txt”
答案1
如果您需要查看是否有人在 watch 中使用 sudo 运行特权命令,您也需要在 sudo 中运行 watch。尝试以下操作,应该有效
sudo -S watch -n1 w
更新:抱歉,这个答案只适用于 BSD :(