ps aux 仅显示当前用户的进程

ps aux 仅显示当前用户的进程

在我的其中一台运行 Debian 7.8 的服务器上,当我运行 时ps aux,我只看到属于当前用户的进程。

如果我使用 检查权限sudo ls -al /proc/,则由 root 运行的进程具有这些权限: dr-x------ 而在我的其他 Debian 机器上,我有这些:dr-xr-xr-x

您知道是什么原因造成这种情况以及我该如何改变它吗?

答案1

它很可能是已挂载的 /proc 文件系统的“hidepid”选项。

检查grep proc /proc/self/mounts。如果hidepid=1hidepid=2,请删除安装选项并重试。

答案2

您可以尝试在 /etc/fstab 中设置 hidepid=0,看看会发生什么。将此行添加到 /etc/fstab 并重新启动。

proc /proc proc rw,nosuid,nodev,noexec,relatime,hidepid=0

有趣的是,看看将 hidepid 实际上设置为零后问题是否仍然存在。

在 /etc/fstab 中使用上述节“mount | grep -i proc”运行 debian 7.8 不会显示 hidepid 选项实际上设置为 0。

如果我将其设置为 1,则会显示 hidepid 选项

morgan@debian:~$ mount | grep -i proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=1)

但是,即使使用“hidepid=1”和“ps aux”仅显示当前用户的进程,/proc/PID 目录的权限仍然是 555 而不是 500。

root@debian:/proc# mount | grep -i proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime,hidepid=1)
root@debian:/proc# ls -al | head
total 4
dr-xr-xr-x 80 root        root                      0 Jul 26 14:33 .
drwxr-xr-x 23 root        root                   4096 Jul 26 08:43 ..
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 1
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 10
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 108
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 11
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 110
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 119
dr-xr-xr-x  8 root        root                      0 Jul 26 14:33 12

针对 ubuntu 10.04,有人在这里提出了类似的问题

http://ubuntuforums.org/showthread.php?t=2173093

但是,即使运行内核为 2.6 的 ubuntu 10.04,/proc/PID 权限仍然是 555,而不是 500。

相关内容