マウントされた名前空間を共有解除するためにCAP_SYS_ADMINが必要なのはなぜですか?

マウントされた名前空間を共有解除するためにCAP_SYS_ADMINが必要なのはなぜですか?

私のプロジェクトの一つに必要ただマウントネームスペースは共有されず、CAP_SYS_ADMIN機能が必要です(参照:名前空間)。ユーザーネームスペースを共有解除して機能なしで新しいインストールネームスペースを作成することも可能ですが、他の制限があるのでこれを避けたいと思います(たとえば、setuidプログラムはそこから呼び出すことはできません)。インストールスペースを誰もが共有しないようにするsetuidプログラムを作成しようとしていますが、これが安全ではないかどうか疑問に思います。現時点では、このようなことが起こるシナリオを想像することはできません。それでは、一般ユーザーが共有インストールスペースをキャンセルできないのはなぜですか?

答え1

コアを選ぶ理由は2つ考えることができます。

  1. マウントネームスペースを複製すると、リムーバブルメディアを含むすべてのマウントが/再マウントされていない場合MNT_SHARED(例:から)固定されます。systemd
  2. また、特定のsetuidプログラムを混同する可能性があるため、権限のないユーザーが「予期しない」状態を生成することはできません。したがって、これが有用であると考える特別な理由がない場合、これはより安全な選択です。彼らは、マウントされた名前空間を複製する権限を望んでいますが、複製できない重要な理由を考えることはできません。するそれに関連するすべて。明らかにあなたは何らかの理由を考えましたが、あなたの質問を読んでもそれが何であるかを推測することはできませんでした:-).

関連情報