Mit
/usr/local/lib/personal/* m,
in usr.bin.firefox hinzugefügt und die Rechte der libpersonal.so geändert startet Firefox. Sie war a+rx und u+w, geändert habe ich es zu a+x und u+w.
Wenn ich jedoch versuche mich bei der Bank anzumelden kommt:
Oct 27 16:44:59 olten kernel: [ 9026.407920] __ratelimit: 228 callbacks suppressed
Oct 27 16:44:59 olten kernel: [ 9026.407926] type=1502 audit(1288190699.819:14117): operation="exec" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin" requested_mask="::x" denied_mask="::x" fsuid=1000 ouid=0 name="/usr/local/lib/personal/personal.sh" name2="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c"
Oct 27 16:44:59 olten kernel: [ 9026.408727] type=1502 audit(1288190699.823:14118): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/etc/ld.so.cache"
Oct 27 16:44:59 olten kernel: [ 9026.408780] type=1502 audit(1288190699.823:14119): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/lib/tls/i686/cmov/libc-2.11.1.so"
Oct 27 16:44:59 olten kernel: [ 9026.408807] type=1502 audit(1288190699.823:14120): operation="file_mmap" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c" requested_mask="::mr" denied_mask="::mr" fsuid=1000 ouid=0 name="/lib/tls/i686/cmov/libc-2.11.1.so"
Oct 27 16:44:59 olten kernel: [ 9026.409265] type=1502 audit(1288190699.823:14121): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/usr/local/lib/personal/personal.sh"
Oct 27 16:44:59 olten kernel: [ 9026.409368] type=1502 audit(1288190699.823:14122): operation="exec" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c" requested_mask="::x" denied_mask="::x" fsuid=1000 ouid=0 name="/usr/local/lib/personal/personal.bin" name2="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d"
Oct 27 16:44:59 olten kernel: [ 9026.410018] type=1502 audit(1288190699.823:14123): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/etc/ld.so.cache"
Oct 27 16:44:59 olten kernel: [ 9026.410075] type=1502 audit(1288190699.823:14124): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/lib/tls/i686/cmov/libpthread-2.11.1.so"
Oct 27 16:44:59 olten kernel: [ 9026.410101] type=1502 audit(1288190699.823:14125): operation="file_mmap" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="::mr" denied_mask="::mr" fsuid=1000 ouid=0 name="/lib/tls/i686/cmov/libpthread-2.11.1.so"
Oct 27 16:44:59 olten kernel: [ 9026.410186] type=1502 audit(1288190699.823:14126): operation="open" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="::r" denied_mask="::r" fsuid=1000 ouid=0 name="/lib/tls/i686/cmov/librt-2.11.1.so"
Oct 27 16:45:04 olten kernel: [ 9031.497084] __ratelimit: 11661 callbacks suppressed
Oct 27 16:45:04 olten kernel: [ 9031.497090] type=1502 audit(1288190704.911:18014): operation="open" pid=7831 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="r::" denied_mask="r::" fsuid=1000 ouid=1000 name="/home/matthias/.personal/store/"
Oct 27 16:45:05 olten kernel: [ 9031.997278] type=1502 audit(1288190705.411:18015): operation="open" pid=7831 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="r::" denied_mask="r::" fsuid=1000 ouid=1000 name="/home/matthias/.personal/store/"
Oct 27 16:45:05 olten kernel: [ 9032.497497] type=1502 audit(1288190705.911:18016): operation="open" pid=7831 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="r::" denied_mask="r::" fsuid=1000 ouid=1000 name="/home/matthias/.personal/store/"
Oct 27 16:45:06 olten kernel: [ 9033.000679] type=1502 audit(1288190706.415:18017): operation="unlink" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="d::" denied_mask="d::" fsuid=1000 ouid=1000 name="/dev/shm/sem.se.nx.tapi.7824.1"
Oct 27 16:45:06 olten kernel: [ 9033.000727] type=1502 audit(1288190706.415:18018): operation="unlink" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="d::" denied_mask="d::" fsuid=1000 ouid=1000 name="/dev/shm/sem.se.nx.tapi.7824.2"
Oct 27 16:45:06 olten kernel: [ 9033.000763] type=1502 audit(1288190706.415:18019): operation="unlink" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="d::" denied_mask="d::" fsuid=1000 ouid=1000 name="/dev/shm/sem.se.nx.tapi.7824.3"
Oct 27 16:45:06 olten kernel: [ 9033.000848] type=1502 audit(1288190706.415:18020): operation="unlink" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="d::" denied_mask="d::" fsuid=1000 ouid=1000 name="/home/matthias/.personal/.wxsrv424"
Oct 27 16:45:06 olten kernel: [ 9033.000913] type=1502 audit(1288190706.415:18021): operation="unlink" pid=7824 parent=1 profile="/usr/lib/firefox-3.6.11/firefox-*bin//null-5c//null-5d" requested_mask="d::" denied_mask="d::" fsuid=1000 ouid=1000 name="/home/matthias/.personal-matthias"
OK, jetzt scheint wirklich alles zu funktionieren, ich muss es zwar noch ausgiebiger testen aber das
/usr/local/lib/personal/* m,
/usr/local/lib/personal/personal.sh Uxr,
owner @{HOME}/.personal/config/Personal.cfg k,
/usr/local/lib/personal/config/Personal.cfg wk,
zu /etc/apparmor.d/usr.bin.firefox hinzugefügt und AppArmor mit
sudo /etc/init.d/apparmor reload
neugestartet und schon funktioniert es. ☺
Ich verstehe zwar nicht, warum dieses ranzige Programm write-access zur global config braucht und sich nicht mit read-access zufriedengbit, aber mich wundert schon gar nichts mehr.
Wenn wirklich alles funktioiert mache ich vlt. dazu einen wiki-Eintrag. Wichtig wäre da aber, dass jemand, der sich mit AppArmor auskennt – ich nicht 😉 – da nochmals drüberschaut.