TL, DR : Apparmor의 결함이며 홈 디렉토리가 외부에 있기 때문 /home
입니다.
Ubuntu 10.04의 기본 설치에서 apparmor 패키지는 우분투 표준 패키지 의 간접 권장 수준 종속성으로 가져옵니다 . 시스템 로그 ( /var/log/syslog
)는 Apparmor가 Evince의 읽기 시도를 거부하고 있음을 보여줍니다 ~/.Xauthority
.
Jul 5 17:58:31 darkstar kernel: [15994724.481599] type=1503 audit(13415
03911.542:168): operation="open" pid=9806 parent=9805 profile="/usr/bin/evince"
requested_mask="r::" denied_mask="r::" fsuid=1001 ouid=1001 name="/elsewhere/home/gilles/.Xauthority"
Apparmor (in /etc/apparmor.d/usr.bin.evince
) 의 기본 Evince 구성 은 매우 허용됩니다. 모든 홈 디렉토리에서 임의의 읽기 및 쓰기를 허용합니다. 그러나이 시스템의 내 홈 디렉토리는 기본 AppArmor 구성에 나열되지 않은 비표준 위치에 대한 심볼릭 링크입니다. 에서 액세스가 허용 /home
되지만 내 홈 디렉토리의 실제 위치가 /elsewhere/home/gilles
에 있으므로 액세스가 거부되었습니다.
이 문제의 영향을받을 수있는 다른 응용 프로그램은 다음과 같습니다.
- Firefox는 기본적으로 비활성화되어 있습니다 (심볼릭 링크가있는 경우
/etc/apparmor.d/disable/usr.bin.firefox -> /etc/apparmor.d/usr.bin.firefox
).
- CUPS PDF 인쇄; 테스트하지는 않았지만에 쓰지 못할 것으로 예상합니다
~/PDF
.
내 수정은 선을 편집 /etc/apparmor.d/tunables/home.d/local
하고 추가하는 것이 었습니다
@{HOMEDIRS}+=/elsewhere/home/
홈 디렉토리의 비표준 위치를 인식하려면 (최종 사항 /
은 중요합니다.의 설명 참조 /etc/apparmor.d/tunables/home.d/ubuntu
) /etc/init.d/apparmor reload
Apparmor 설정을 업데이트하기 위해 실행 하십시오.
관리자 권한이없고 시스템 관리자가 응답하지 않는 경우 evince
바이너리와 같은 다른 위치에 바이너리를 복사 할 수 ~/bin
있으며 Apparmor 정책이 적용되지 않으므로 시작할 수는 있지만 시작할 수는 있지만 Apparmor가 제공하는 매우 제한된 추가 보안은 제공되지 않습니다).
이 문제는 Ubuntu 버그 # 447292로보고되었습니다 . 이 해결 방법은 일부 사용자가 /etc/passwd
outside에 나열된 홈 디렉토리를 가지고 /home
있지만 /home/gilles
심볼릭 링크가있는 광산과 같은 경우는 처리하지 않습니다 .