web-dev-qa-db-ja.com

htopは、それを実行しているユーザーのプロセスのみを表示しますか?

私の古いDebianWheezyでは、htop内のすべてのユーザーからのすべてのプロセスSudoがない通常のユーザーとして表示されます。私の新しいDebianWheezyでは、自分のプロセスしか表示されません。

  • 古いシステムカーネル: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)

すべてのプロセスを通常のユーザーとして表示するにはどうすればよいですか?

4
Christian D.

私は問題を見つけました。カーネルはgrsecurityでコンパイルされ、他のユーザーからプロセスを隠します。デフォルトのカーネルでは、すべてが正常に機能します。

3
Christian D.

hidepidは、他のユーザーからプロセスを隠すprocfsのマウントオプションです。 3つの設定があります。

  1. hidepid=0:誰でも/proc/PID内の誰でも読み取り可能なファイルを読み取ることができます
  2. hidepid=1:ユーザーは、自分のユーザーに属する/proc/PIDディレクトリとファイルにのみアクセスできます。
  3. hidepid=2hidepid=1と同じですが、他のユーザーのプロセスは/proc/PIDに表示されません。

/procがマウントされたマウントオプションを確認するには、mount | grep /procを実行できます。

詳細については、カーネルのドキュメントのマウントオプションのセクションで proc filesystem を、および nixCraftの記事 を参照してください。

2
kyrias