システムを独自に初期化プロセス(pid 1)で記述し、セキュリティを向上させるために、_hidepid=2
_の場所にprocfs
をマウントするときに_/proc
_を追加することにしました(procfs
はデフォルトではマウントされていません)。
procfs
をマウントした後、mount
コマンドを実行して、すべてのマウントオプションを特定のマウントオプションで確認したところ、_hidepid=2
_がオプションにリストされていないことに気付きました。しばらくして、_hidepid=2
_がremount
の後にのみリストに追加できることがわかりました。
以下のように、コマンドラインを使用して動作も確認しました
/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)
を示しましたprocfs
を_hidepid=2
_で一度にマウントできなかった理由を誰かが親切に説明してくれますか?
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)。