procfs なしで実行中のプロセスのリスト

procfs なしで実行中のプロセスのリスト

ps実行中のプロセス(または使用など)を一覧表示したいが、topprocfsがインストールされていません。

アンマウントされたprocfは、悪意のあるユーザーがシステム情報にアクセスするのを防ぐように意図的に設計されています。

実行中のプロセスを引き続き一覧表示する方法はありますか?それとも不可能ですか?

私はLinux 3.16を使用しています。

答え1

procfsをインストールしないことは間違いのように聞こえます。セキュリティは実際には強化されておらず、Linuxはインストールするように/proc設計されています。特に、あなたが見つけたように、/procこれはプロセスに関する情報を見つける方法です(Linuxでは、以下のps情報のためのきれいなプリンタです/proc)。

特定のアプリケーションへのアクセスをブロックする理由がある場合は、次の手順を実行して/procください。コンテナまたは名前空間。ルートにマウント/procし、名前空間の外に保管してください。

答え2

psすべての情報はマウントされたprocfから取得されるため、procfがない場合、この情報のソースはありません。私が見ることができる唯一のオプションは、procをマウントしてps / topを呼び出してからアンマウントすることです。これはリスクを最小限に抑えます。

答え3

アンマウントされたprocfは、悪意のあるユーザーがシステム情報にアクセスするのを防ぐように意図的に設計されています。

procfsをインストールしないことがこの目標を達成する唯一の方法ではありません。

権限のないユーザーが自分のプロセスのみを表示できるように、オプションを使用してprocfsをマウントできます。hidepid=2これはシステムに関する多くの情報を隠します。バラよりproc(5)この機能に関する追加情報。

procfsへのアクセスをさらに制限するには(プロセスに関する情報だけでなくetcなどのファイルも含めてこれらの部分を非表示にしないためcpuinfo) 、modulesマウントhidepidポイントに0711または0700などの制限モードを指定できます。 。/proc所有者がルートの場合、後者の場合、ルートのみがprocfsにアクセスできます。つまりpstopなどを使用してhtop確認できますが、/proc/mdstatrootとしてログインした場合にのみ可能で、他のユーザーはこれを確認できません。アクセスしようとすると、「許可拒否」エラーが発生します/proc

また、多くのプログラムがインストールに依存しているため(procfsだけでなくps)、システムにprocfsがまったくないことをお勧めしません。

関連情報