procfsマウントオプションが再マウントにのみ適用されるのはなぜですか?

procfsマウントオプションが再マウントにのみ適用されるのはなぜですか?

私は自分のシステム用の独自の初期化プロセス(pid 1)を作成し、セキュリティを強化するために場所をインストールするhidepid=2ときにそれを追加することにしました(デフォルトではインストールされていません)。procfs/procprocfs

インストール後、そのインストールオプションのすべてのインストールが正しく行われたことを確認するためにコマンドを実行しましたが、procfsオプションに何もリストされていないことを確認しました。しばらくすると、後でリストに追加できることがわかりました。mounthidepid=2hidepid=2remount

また、次のようにコマンドラインを使用して動作を確認しました。

  • 最初は/procインストールされませんprocfs
  • 処刑されたmount -t proc -o hidepid=2 proc /proc
  • 実行するmount, 示すproc on /proc type proc (rw,relatime)
  • 処刑されたmount -t proc -o remount,hidepid=2 proc /proc
  • 実行するmount, 示すproc on /proc type proc (rw,relatime,hidepid=2)

なぜ一度にインストールできないのか親切に説明できますかprocfshidepid=2

答え1

Linuxカーネルにコミットがあります(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=69879c01a0c3f70e0887cfb4d9ff439814361e46)もちろん:

また、カーネルマウントの不必要な複雑さを排除し、procマウントオプションが無視される回帰問題を修正しました。これで、proc の初期マウントがユーザー空間で行われ、これらのマウントオプションが再び尊重されます。これは、Androidのproc hidepidオプションの使用を修正します。

したがって、これは現在Linuxカーネルのバグのようです(https://github.com/torvalds/linux/commit/69879c01a0c3f70e0887cfb4d9ff439814361e46)、v5.7リリース候補タグ(v5.7-rc4、v5.7-rc3、v5.7-rc2、v5.7-rc1)でのみ修正されました。

関連情報