/proc/*/cmdlineが誰でも読める理由はありますか?

/proc/*/cmdlineが誰でも読める理由はありますか?

たぶん今日はコーヒーを飲むことができなかったかもしれませんが、世界を読めるようにする理由は全く覚えていないか、まったく思い出せません。/proc/PID/cmdline結局はそうではありません。/proc/PID/environ

ユーザー(もちろん、グループやルートも可能)のみを読み取ることができるようにすると、コマンドライン引数で入力したパスワードが誤って漏洩するのを防ぐことができます。

もちろん影響を与えます。その他ユーザーが走るpsなどhtop- しかし、それは良いことですよね?これが世界を読むことができないようにする鍵です。

ベストアンサー1

私は主で、おそらく唯一の理由が歴史的だと思います。/proc/.../cmdlineもともと世界中で読むことができたので、以前のバージョンとの互換性のためにそのまま残ります。cmdline1992年12月2日にリリースされた0.98.6に追加され、モード444に変更ログが表示されます。

     - /proc filesystem extensions.  Based on ideas (and some code) by
       Darren Senn, but mostly written by yours truly.  More about that
       later.

「後で」がいつなのかわかりません。私の知る限り、Darren Senのアイデアは時間の霧の中に消えました。

environ以前のバージョンとの互換性の主張の興味深い反例です。テキストを読むことができるようになりましたが、1.1.85では所有者だけが読むことができました。まだ関連する変更ログが見つからないので、なぜ理由がわかりません。

/proc/${pid}(付属)の全体的なアクセシビリティと可視性を/proc/${pid}/cmdline制御できます。使用されるprocマウントhidepidオプション、これはカーネルバージョン3.3に追加されました。マウントgidオプションを使用すると、特定のグループにフルアクセス権を付与できます。例えばこれにより、モニタリングプロセスはrootとして実行せずにすべてを見ることができます。

おすすめ記事