非ルートでps auxを実行するとすべてのプロセスが表示されない

非ルートでps auxを実行するとすべてのプロセスが表示されない

私はUbuntu 10.04サーバーを使用しています...

ルートとして ps aux を実行するとすべてのプロセスが表示されますが、非ルートとして ps aux を実行すると現在のユーザーのプロセスだけが表示されます。

少し調べた後、次の解決策を見つけました。

root@m85:~# ls -al /proc/
total 4
dr-xr-xr-x 122 root      root         0 2010-12-23 14:08 .
drwxr-xr-x  22 root      root      4096 2010-12-23 13:30 ..
dr-x------   6 root      root         0 2010-12-23 14:08 1
dr-x------   6 root      root         0 2010-12-23 14:08 10
dr-x------   6 root      root         0 2010-12-23 14:08 1212
dr-x------   6 root      root         0 2010-12-23 14:08 1227
dr-x------   6 root      root         0 2010-12-23 14:08 1242
dr-x------   6 zabbix    zabbix       0 2010-12-24 23:52 12747
[...]

私の最初の考えは、奇妙な方法でマウントされたということでした。/etc/fstab は正常であり、奇妙な方法でマウントされているようには見えません...

2 つ目の考えは、ルートキットがあるかもしれないということでした。しかし、それはルートキットではありません... rkhunter によると、ルートキットはインストールされていないそうです...

マシンにインストールされてからなのか、アップデートが付属していたからなのかはわかりません。マシンに zabbix-agent をインストールしたところ、正常に動作していないことに気付きました...

このような奇妙な権限 (500) の原因は何でしょうか。また、これを通常のレベル (555) に戻すにはどうすればよいですか。

すごい、こんなの見たことないよ...

ご協力をよろしくお願いします。メリークリスマス :)


すでに sysctl をチェックしましたが、結果はありませんでした。

sysctl -a | grep ps
sysctl -a | grep proc

grsecurity のヒントをありがとうございます。少しグーグルで検索してみました。dpkg によると、標準カーネルを使用しているようですが、grsecurity はインストールされていないようです。また、/dev/grsec も存在しません。

apparmor も停止しましたが、それでも同じ問題が残ります。

dpkg は、libselinux1 はインストールされているが、selinux パッケージはインストールされていないことを示しています...

grsecrity、selinux が実行中かどうかを確認する別の方法はありますか?

答え1

マシンにインストールされてからなのか、アップデートが付属していたからなのかはわかりません。マシンに zabbix-agent をインストールしたところ、正常に動作していないことに気付きました...

grsecurityユーザーがすべてのプロセスを表示できないようにブロックできると思います。

答え2

ルートキットについてはあまり心配していません。ルートキットは、ルートのプロセスの一部を隠す可能性も高いでしょう。ただし、rkhunterボックス自体での実行はあまり信頼できないことを付け加えておきます。ルートキットによって変更されている可能性があります。

この特定の問題はこれまで見たことがありません。 考えられる原因は次のとおりです。

答え3

ps情報を取得できるプロセスに関する情報のみを表示します。/proc/12747読み取り可能ではないため、root でない場合は表示されません。

注記: これは Ubuntu と、Ubuntu がシステムを変更する (奇妙な) 方法によるものと思われます。Ubuntu がシステムを「安全」にすると信じて権限をランダムに削除するのは今回が初めてではありませんが、最終的にはプログラムが「期待どおりに」動作しなくなることになります — cf.https://bugs.launchpad.net/ubuntu/+source/libpam-mount/+bug/117736通常のカーネルでは、/proc/xyz ディレクトリ (必ずしもその中のすべてのファイルではありません) が誰でも読み取り可能です。

答え4

sysctlはすでにチェックしましたが、結果はありませんでした

sysctl -a | grep ps sysctl -a | grep proc

grsecurity のヒントをありがとうございます。少しグーグルで検索してみました。dpkg によると、標準カーネルを使用しているようですが、grsecurity はインストールされていないようです。また、/dev/grsec も存在しません。

apparmor も停止しましたが、それでも同じ問題が残ります。

dpkg は、libselinux1 はインストールされているが、selinux パッケージはインストールされていないことを示しています...

grsecrity、selinux が実行中かどうかを確認する別の方法はありますか?

関連情報