Estou usando o perfil padrão do AppArmor Firefox, que supostamente permite que os downloads sejam salvos em ~ / Downloads. No entanto, ainda posso fazer o download para qualquer local dentro do meu diretório pessoal. Eu verifiquei que tudo foi carregado e aplicado. Para fins de teste, adicionei uma negação explícita deny @{HOME}/Dropbox/** w
e recarregada. Isso funcionou, eu não posso mais salvar nada em qualquer lugar dentro do diretório do Dropbox. Removi o teste negado e comentei a seção "Perfil padrão permite downloads para ... e uploads de ..." para ver o que acontece:
#owner @{HOME}/ r,
#owner @{HOME}/Public/ r,
#owner @{HOME}/Public/* r,
#owner @{HOME}/Downloads/ r,
#owner @{HOME}/Downloads/* rw,
Como se suspeitava, nada mudou. Eu percebi que deve haver alguma permissão acidental no diretório inicial. Eu redefini minhas alterações e tentei encontrar todas as linhas com HOME relacionadas ao perfil do Firefox:
grep 'HOME' $(grep include usr.bin.firefox | sed 's/^.*<\(.*\)>.*//g') usr.bin.firefox
abstractions/audio:owner @{HOME}/.esd_auth r,
abstractions/audio:owner @{HOME}/.asoundrc r,
abstractions/audio:owner @{HOME}/.cache/event-sound-cache.* rwk,
abstractions/audio:owner @{HOME}/.pulse-cookie rwk,
abstractions/audio:owner @{HOME}/.pulse/ rw,
abstractions/audio:owner @{HOME}/.pulse/* rwk,
abstractions/audio:owner @{HOME}/.config/pulse/cookie rwk,
abstractions/audio:owner @{HOME}/.alsoftrc r,
abstractions/cups-client: owner @{HOME}/.cups/client.conf r,
abstractions/cups-client: owner @{HOME}/.cups/lpoptions r,
abstractions/gnome: owner @{HOME}/.gnome/Gnome r,
abstractions/gnome: owner @{HOME}/.gtk r,
abstractions/gnome: owner @{HOME}/.gtkrc r,
abstractions/gnome: owner @{HOME}/.gtkrc-2.0 r,
abstractions/gnome: owner @{HOME}/.gtk-bookmarks r,
abstractions/gnome: owner @{HOME}/.themes/ r,
abstractions/gnome: owner @{HOME}/.themes/** r,
abstractions/gnome: owner @{HOME}/.config/gtk-2.0/** r,
abstractions/gnome: owner @{HOME}/.config/gtk-2.0/gtkfilechooser.ini* rw,
abstractions/gnome: owner @{HOME}/.gconfd/lock/* r,
abstractions/gnome: owner @{HOME}/.gnome/application-info r,
abstractions/gnome: owner @{HOME}/.fonts.cache-* rwl,
abstractions/ibus: owner @{HOME}/.config/ibus/ r,
abstractions/ibus: owner @{HOME}/.config/ibus/bus/ rw,
abstractions/ibus: owner @{HOME}/.config/ibus/bus/* rw,
usr.bin.firefox: owner @{HOME}/.local/share/applications/defaults.list r,
usr.bin.firefox: owner @{HOME}/.local/share/applications/mimeapps.list r,
usr.bin.firefox: owner @{HOME}/.local/share/applications/mimeinfo.cache r,
usr.bin.firefox: deny @{HOME}/.local/share/recently-used.xbel r,
usr.bin.firefox: owner @{HOME}/.thumbnails/*/*.png r,
usr.bin.firefox: owner @{HOME}/ r,
usr.bin.firefox: owner @{HOME}/Public/ r,
usr.bin.firefox: owner @{HOME}/Public/* r,
usr.bin.firefox: owner @{HOME}/Downloads/ r,
usr.bin.firefox: owner @{HOME}/Downloads/* rw,
usr.bin.firefox: owner @{HOME}/.{firefox,mozilla}/ rw,
usr.bin.firefox: owner @{HOME}/.{firefox,mozilla}/** rw,
usr.bin.firefox: owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k,
usr.bin.firefox: owner @{HOME}/.{firefox,mozilla}/plugins/** rm,
usr.bin.firefox: owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm,
usr.bin.firefox: owner @{HOME}/.gnome2/firefox*-bin-* rw,
usr.bin.firefox: owner @{HOME}/.cache/mozilla/{,firefox/} rw,
usr.bin.firefox: owner @{HOME}/.cache/mozilla/firefox/** rw,
usr.bin.firefox: owner @{HOME}/.cache/mozilla/firefox/**/*.sqlite k,
usr.bin.firefox: owner @{HOME}/.mozilla/**/extensions/** mixr,
Eu não vejo nada que permita ao firefox escrever em qualquer lugar do HOME. Alguma idéia?
Informação técnica:
$ uname -r
3.16.0-38-generic
Linux Mint 17.2 with XFCE
Outras notas:
No meu laptop, eu tenho o Debian Jessie com o Gnome e o AppArmor parece se comportar melhor. Embora eu não tenha usado o perfil firefox padrão nessa máquina, fiz um que é bem parecido para o firefox-esr / iceweasel. Funciona como esperado.
Perfil: link