Linux

htop 只顯示執行它的使用者的程序?

  • April 18, 2015

在我的舊 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 的一個掛載選項,它對其他使用者隱藏程序。共有三種設置:

  1. hidepid=0: 任何人都可以閱讀世界可讀的文件/proc/PID
  2. hidepid=1:使用者只能訪問/proc/PID屬於其使用者的目錄和文件。
  3. hidepid=2: 和 一樣hidepid=1,但是其他使用者的程序在/proc/PID

要查看/proc與您一起安裝的安裝選項,您可以執行mount | grep /proc.

有關更多資訊,請參閱proc 文件系統的核心文件中的掛載選項部分,以及有關該主題的nixCraft 文章

引用自:https://unix.stackexchange.com/questions/196992