TL, DR: ini salah Apparmor, dan karena direktori home saya berada di luar /home
.
Di bawah instalasi default Ubuntu 10.04, paket apparmor ditarik sebagai dependensi tingkat Rekomendasi tidak langsung dari paket standar ubuntu . Log sistem ( /var/log/syslog
) menunjukkan bahwa Apparmor menolak upaya Evince untuk membaca ~/.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"
Konfigurasi Evince default untuk Apparmor (dalam /etc/apparmor.d/usr.bin.evince
) sangat permisif: ini memungkinkan membaca dan menulis sewenang-wenang di semua direktori home. Namun, direktori rumah saya di mesin ini adalah tautan simbolis ke lokasi non-standar yang tidak tercantum dalam konfigurasi AppArmor default. Akses diizinkan di bawah /home
, tetapi lokasi sebenarnya dari direktori home saya adalah /elsewhere/home/gilles
, jadi akses ditolak.
Aplikasi lain yang mungkin terpengaruh oleh masalah ini termasuk:
- Firefox, tetapi profilnya dinonaktifkan secara default (dengan adanya tautan simbolik
/etc/apparmor.d/disable/usr.bin.firefox -> /etc/apparmor.d/usr.bin.firefox
).
- Pencetakan PDF CUPS; Saya belum menguji, tapi saya berharap gagal menulis
~/PDF
.
Perbaikan saya adalah mengedit /etc/apparmor.d/tunables/home.d/local
dan menambahkan baris
@{HOMEDIRS}+=/elsewhere/home/
untuk mengetahui lokasi direktori home yang tidak standar (perhatikan bahwa final /
itu penting; lihat komentar di /etc/apparmor.d/tunables/home.d/ubuntu
), kemudian jalankan /etc/init.d/apparmor reload
untuk memperbarui pengaturan Apparmor.
Jika Anda tidak memiliki hak administrator dan administrator sistem tidak responsif, Anda dapat menyalin evince
biner ke lokasi yang berbeda seperti ~/bin
, dan itu tidak akan dicakup oleh kebijakan Apparmor (sehingga Anda dapat memulainya, tetapi tidak akan diberikan keamanan ekstra yang sangat terbatas yang disediakan Apparmor).
Masalah ini telah dilaporkan sebagai bug Ubuntu # 447292 . Resolusi menangani case ketika beberapa pengguna memiliki direktori home mereka seperti yang tercantum di /etc/passwd
luar /home
, tetapi bukan case seperti milik saya yang /home/gilles
merupakan tautan simbolik.