我有多个用户使用 ssh 登录我的服务器 (ubuntu 12.10)。他们都没有 root 权限。
如果我使用管理员帐户登录并输入
w
输出结果为:
17:21:05 up 10 days, 18:47, 3 users, load average: 0,09, 0,09, 0,08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
现在如果我输入
sudo w
输出结果为:
17:22:00 up 10 days, 18:48, 3 users, load average: 0,04, 0,07, 0,07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
admin pts/0 XX.XX.XX.XX 16:15 4.00s 0.34s 0.06s sshd: admin [priv]
user1 pts/1 XX.XX.XX.XX 17:04 17:40 0.17s 0.17s -sh
user2 pts/2 XX.XX.XX.XX 14:31 2:50m 0.16s 0.16s -sh
这是为什么?
无关的问题:在这种情况下,第一行、最后一列 (sshd: admin [priv]) 是什么意思?我读到它与 sshd 特权分离线程有关,但我不清楚该行的确切含义。
答案1
您有一个安全机制,不允许 w 遍历 /proc/$pid/ 并获取所需的信息。我认为 grsecurity 内核强化默认会这样做。