Linux
htop 只顯示執行它的使用者的程序?
在我的舊 Debian Wheezy 上,我看到一個普通使用者,沒有sudo中所有使用者的所有程序
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)
我應該怎麼做才能以普通使用者的身份查看所有程序?
我發現了問題。核心是用grsecurity編譯的,它對其他使用者隱藏程序。使用預設核心一切正常。
hidepid
是 procfs 的一個掛載選項,它對其他使用者隱藏程序。共有三種設置:
hidepid=0
: 任何人都可以閱讀世界可讀的文件/proc/PID
hidepid=1
:使用者只能訪問/proc/PID
屬於其使用者的目錄和文件。hidepid=2
: 和 一樣hidepid=1
,但是其他使用者的程序在/proc/PID
要查看
/proc
與您一起安裝的安裝選項,您可以執行mount | grep /proc
.有關更多資訊,請參閱proc 文件系統的核心文件中的掛載選項部分,以及有關該主題的nixCraft 文章。