AppArmor odmawia operacji montowania

9

Jak przekonać apparmor, aby zezwolił na tę operację?

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

Zasadniczo próbuję ponownie zamontować główny system plików tylko do odczytu (w przestrzeni nazw montowania zagnieżdżonej w kontenerze LXC). Konfiguracja to kilka mocowań łączących wokół miejsca kończących się na:

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

Próbowałem każdej kombinacji:

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

Mógłbym wymyślić. Dodanie reguły audit mount,pokazuje wszystkie inne montowania, które robię, ale nie te, które działają na /. Najbliższe, jakie mogę dostać, to to, mount -> /,które IMHO jest zbyt luźne. Nawet mount / -> /,zaprzecza ponownemu podłączeniu (podczas gdy dozwolone jest podłączenie pierwszego wiązania).

Grzegorz Nosek
źródło
Możesz uzyskać pomoc tutaj: lists.ubuntu.com/mailman/listinfo/apparmor

Odpowiedzi:

2

Zgodnie z: http://lwn.net/Articles/281157/

Bindy mają takie same opcje jak oryginał, więc możesz powiązać zamontować kopię rw z / .. chyba, że ​​ponownie zamontujesz całą / do ro .. co, jak sądzę, nie chcesz tego robić.

Musi być w dwóch krokach.

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data

Grizly
źródło
Właściwie to właśnie chcę robić. Wszystkie katalogi, które muszą być zapisywalne (zaskakująco niewiele, btw) znajdują się w innym systemie plików. Jedynym problemem jest to, że nie mogę przekonać AppArmor do zezwolenia na tę konkretną operację.
Grzegorz Nosek
Hmm, może możesz po prostu wyłączyć
zbroję
1
Tak, mogę wyłączyć AppArmor lub zezwolić na montowanie czegokolwiek na /, jak wspomniałem w pytaniu. To jednak nie pomaga mi, jeśli naprawdę chcę skorzystać z AppArmor.
Grzegorz Nosek
Możesz wypróbować NFS sourceforge.net/mailarchive/…
Grizly