web-dev-qa-db-ja.com

マウント操作を拒否するAppArmor

この操作を許可するように防具を説得するにはどうすればよいですか?

[28763.284171] type=1400 audit(1344273461.387:192): apparmor="DENIED"
operation="mount" info="failed type match" error=-13 parent=7101
profile="lxc-container-with-nesting" name="/" pid=7112 comm="su"
flags="ro, remount, bind"

基本的に、ルートファイルシステムを読み取り専用で(LXCコンテナにネストされたマウント名前空間で)再マウントしようとしています。セットアップは、次で終わる場所の周りのいくつかのバインドマウントです。

mount --rbind / /
mount -o remount,ro /

私はすべての組み合わせを試しました:

mount options=(ro, remount, bind) / -> /,

私は考えることができました。ルールaudit mount,を追加すると、他のすべてのマウントが表示されますが、/で動作するマウントは表示されません。私が得ることができる最も近いものはmount -> /,です。 mount / -> /,でさえ、再マウントを拒否します(最初のバインドマウントは許可されます)。

9
Grzegorz Nosek

通り: http://lwn.net/Articles/281157/

Bindには元のオプションと同じオプションがあるため、/のrwコピーのみをバインドマウントできます。

2つのステップにする必要があります。

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data

2
Grizly