마운트 작업을 거부하는 AppArmor


9

이 작업을 허용하도록 의류를 어떻게 설득합니까?

[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 -> /,IMHO가 너무 느슨하다는 것입니다. mount / -> /,다시 마운트를 거부 하더라도 (첫 번째 바인드 마운트가 허용되는 동안).


도움이 필요하시면 여기를 클릭하십시오 : lists.ubuntu.com/mailman/listinfo/apparmor

답변:


2

에 따라 : http://lwn.net/Articles/281157/

바인드는 원본과 동일한 옵션을 가지고 있으므로 전체 /를 ro로 다시 마운트하지 않으면 /.의 rw 사본을 바인드 할 수 있습니다.

두 단계로 진행해야합니다.

mount --bind /vital_data /untrusted_container/vital_data

mount -o remount,ro /untrusted_container/vital_data


사실, 그것은 이다 내가 원하는 정확히. 쓰기 가능해야하는 모든 디렉토리 (놀랍게도 btw)는 다른 파일 시스템에 있습니다. 유일한 문제는 AppArmor 가이 특정 작업을 허용하도록 설득 할 수 없다는 것입니다.
Grzegorz Nosek

흠, 어쩌면 당신은 의류를 비활성화 할 수 있습니다
Grizly

1
예, 질문에서 언급했듯이 AppArmor를 비활성화하거나 /에 마운트를 허용 할 수 있습니다. 그럼에도 불구하고 실제로 AppArmor의 혜택을 원한다면 도움이되지 않습니다.
Grzegorz Nosek

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.