![AppArmor 및 번들 설치](https://linux55.com/image/46455/AppArmor%20%EB%B0%8F%20%EB%B2%88%EB%93%A4%20%EC%84%A4%EC%B9%98.png)
누군가 설치 폴더 바인딩과 관련된 AppArmor의 의미를 간략하게 설명해 주시겠습니까?
내가 이해한 바로는 문서를 읽은 후 (1,2,삼,4) - 예, 저는 3.8 커널과 함께 Ubuntu 12.04를 사용하고 있습니다 - 정책 "경로에 추가"(즉, 호출 시 프로세스가 되는 프로그램의 경로).
그러면 해당 폴더가 있고 여기에 바인드 마운트가 /home/joe/Public
있다고 가정해 보겠습니다 ./var/www/html/joe
원본 자료를 포함하는 프로필을 만들어야 합니까?그리고바인드 마운트, 하나(어느 것) 또는 내가 수행하거나 고려해야 할 다른 것이 있습니까?
프로그램이 있다고 가정합니다. 구성 파일/규칙에서 해당 프로그램을 언급만 하고 Joe가 이를 실행하기로 결정한 /var/www/html/joe/foo
경우에도 제한 사항이 계속 적용됩니까 ?/var/www/html/joe/foo
/home/joe/Public/foo
링크 및 기타 포인터도 감사하겠습니다.
답변1
명확한 참고자료도 없고 직접적인 경험도 없기 때문에 확실한 답변은 아닙니다.
AppArmor는 경로 기반입니다(심볼릭 링크를 해결한 후). 경로는 마운트 지점을 고려하지 않습니다. AppArmor 규칙은 /var/www/html/joe/foo
이 경로를 통해 액세스되는 파일에 적용됩니다. 경로가 /home/joe/Public/foo
동일한 파일을 지정하는 경우가 발생할 수 있지만 경로가 다르기 때문에 AppArmor 규칙이 /var/www/html/joe/foo
적용되지 않습니다.
모든 번들 마운트 위치를 포괄하는 규칙을 정의해야 합니다. 그러나 규칙을 반복할 필요는 없습니다. AppArmor에게 위치가 다음과 같다고 알릴 수 있습니다.별명다른 것을 위해.
alias /home/joe/Public -> /var/www/html/joe
와일드카드를 사용하여 모든 사용자에게 하나의 별칭을 자동으로 적용할 수는 없다고 생각합니다. 이를 위해 변수를 사용하여 규칙을 표현할 수 있습니다.
@{WWW_DIRS} = /home/*/Public /var/www/html/*
…
@{WWW_DIRS}/foo …