コマンドhidepid
ユーザーがすべてを表示できないようにするために使用されます それらに属していないプロセスですが、特定のプロセスを選択する可能性はありません。 1つだけを非表示にすることは可能ですか? Linuxマシンで処理しますか?
承認された回答:
少し汚いです、そしておそらくよりクリーンな解決策があります(おそらくSELinuxまたはgrsecを使用しています)が、/proc/<pid>
内に空のディレクトリをマウントすることでプロセスを隠すことができます 。
たとえば、次のようになります。
mount -o bind /empty/dir /proc/42
通常のユーザーにはプロセス42が表示されなくなります。
ただし、マウントポイントを確認できるため、何かが隠されていることがわかります。
サービスに対してこれを実行する場合は、初期化スクリプトなどを使用して、サービスを開始するたびにこれを実行する必要があります。
特定のユーザーからのみpidを非表示にする場合は、名前空間で遊ぶことができます(おそらく、pam_namespace
を使用します)。 )ターゲットユーザーの名前空間でのみマウントバインドを実行します。
これを元に戻すには、次のコマンドを実行します。
umount /proc/42