デフォルトでは、/ procに通常のproc fsがマウントされています。
(私は次のすべてのコマンドのルートです)
同じファイルを別の場所に再インストールし、hidepidオプションを次のように設定しました。
mount -t proc -o hidepid=2 proc /some/dir/proc
インストールが正常に機能し、ls /proc
Andで同じ出力を見ることができますls /some/dir/proc
。
次に、次を実行します。
setpriv —-reuid 1002 ls /proc
そして出力はまだ同じです。 uid 1002 は root 以外のユーザーであり、非表示のプロセスはありません。
setprivが動作していることを確認し、そうであれば、期待どおりにsetpriv -—reuid 1002 ls /root/
権限が拒否されました。
hidepid オプションが効果がないようです。私は何を見逃していますか?
答え1
また、次のオプションがhidepid
ありますgid
。
gid=gid
(Linux 3.3以降)
プロセス情報を知ることができるメンバーを持つグループのIDを指定します。それ以外の場合は禁止されます。hidepid
これを明示的に言及していませんが、私のシステムでは提供されていない場合、デフォルトは0に設定されているようです。 (ソースは確認できませんでした。)したがって、以下を試してみてください。
setpriv --regid 1002 --clear-groups --reuid 1002 ls /proc/
proc
また、インストール中に設定されたインストールオプションが無視されるバグがあります。-oremount
その後の作業に設定します。この問題はLinux 5.7で修正されました。以下を参照してください。procfsマウントオプションが再マウントにのみ適用されるのはなぜですか?