web-dev-qa-db-fra.com

AppArmor refuse une opération de montage

Comment convaincre apparmor d'autoriser cette opération?

[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"

En gros, j'essaie de remonter le système de fichiers racine en lecture seule (dans un espace de noms de montage imbriqué dans un conteneur LXC). La configuration consiste en quelques montages de reliure autour du lieu se terminant par:

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

J'ai essayé toutes les combinaisons de:

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

Je pourrais penser à. L'ajout de la règle audit mount, affiche tous les autres montages que je fais, mais pas ceux fonctionnant sur /. Le plus proche que je peux obtenir est mount -> /, lequel IMHO est trop lâche. Même mount / -> /, refuse le remontage (tant que le premier montage lié est autorisé).

9
Grzegorz Nosek

Selon: http://lwn.net/Articles/281157/

Les reliures ont les mêmes options que l'original, vous ne pouvez donc relier qu'une copie rw de/.. à moins que vous n'ayez remonté l'intégralité de/sur ro ... ce que je suppose que vous ne voulez pas faire.

Doit être en deux étapes.

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data

2
Grizly