在我的旧 Debian Wheezy 上,我认为普通用户没有须藤中所有用户的所有进程htop
。在我的新 Debian Wheezy 上,我只能看到我自己的进程。
- 旧系统内核:3.2.0-4
- 新系统内核: 3.14.32
我注意到的区别是,在旧系统上/proc/1/
有r-xr-xr-x
权限,而在新系统上只有权限r-x------
。
该行来自/etc/fstab
:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
mount
返回以下内容:
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
当我添加hidepid=0
并重新启动时:hidepid=0
.
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults,hidepid=0 0 0
mount
仍然返回与没有相同的结果:
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
我应该怎么做才能以普通用户身份查看所有进程?
答案1
我发现了问题。内核是用网络安全,这对其他用户隐藏进程。使用默认内核一切正常。
答案2
hidepid
是 procfs 的一个挂载选项,可对其他用户隐藏进程。有以下三种设置:
hidepid=0
:任何人都可以阅读世界可读的文件/proc/PID
hidepid=1
:用户只能访问/proc/PID
属于其用户的目录和文件。hidepid=2
:与 相同hidepid=1
,但其他用户的进程在/proc/PID
/proc
要查看安装的安装选项,您可以运行mount | grep /proc
.
有关更多信息,请参阅内核文档中的安装选项部分进程文件系统,以及nixCraft 文章就此主题而言。