Je voudrais exécuter Firefox avec le profil apparmor aa-enforce (d). Cela fonctionne bien, sauf que j'ai un plugin qui a besoin d'accéder au trousseau de clés via dbus. Lorsque le plugin ( https://github.com/swick/moz-gnome-keyring-integration ) essaie d'accéder au trousseau de clés, j'obtiens ce message dans les journaux:
[ apparmor="DENIED" operation="dbus_method_call" bus="session" path="/org/freedesktop/secrets" interface="org.freedesktop.DBus.Properties" member="Get" mask="send" name="org.freedesktop.secrets" pid=20004 profile="/usr/lib/firefox/firefox{,*[^s][^h]}" peer_pid=2810 peer_profile="unconfined"]
J'essaie donc d'accorder l'accès dbus à mon profil firefox, sans modifier le profil de base fourni par le package apparmor-profies, j'ai donc modifié le fichier dans /etc/apparamor.d/local/usr.bin.firefox
.
Voici ce que j'ai essayé:
# Site-specific additions and overrides for usr.bin.firefox.
# For more details, please see /etc/apparmor.d/local/README.
# Allow gnome keyring integration to work
/usr/lib/firefox/firefox{,*[^s][^h]} {
dbus (send,receive)
bus=session
interface=org.freedesktop.DBus.Properties
path=/org/freedesktop/secrets,
}
mais alors, sur aa-enforce usr.bin.firefox, j'obtiens cette erreur:
apparmor.common.AppArmorException: 'local/usr.bin.firefox profile in local/usr.bin.firefox contains syntax errors in line: 4.'
C'est la première fois que j'essaye de créer ou de modifier un profil d'apparmeur, et je suis bloqué ici ... Quelle devrait être la syntaxe?
EDIT: en utilisant apparmor_parser, j'ai obtenu une autre information:
AppArmor parser error for /etc/apparmor.d/usr.bin.firefox in /etc/apparmor.d/local/usr.bin.firefox at line 4: syntax error, unexpected TOK_OPEN, expecting TOK_MODE
Donc, TOK_OPEN inattendu, attendant TOK_MODE ... aucune idée de ce que cela signifie encore.
EDIT2: J'ai essayé la même strophe directement dans le profil /etc/apparmor.d/usr.bin.firefox, et cela fonctionne. Le problème est donc lié à l'utilisation de la personnalisation locale ...
Le problème vient des crochets ouvrants ({
et }
). Le #include
est déjà dans la déclaration du profil principal, donc les crochets ne sont pas requis.
# Site-specific additions and overrides for usr.bin.firefox.
# For more details, please see /etc/apparmor.d/local/README.
# Allow gnome keyring integration to work
dbus (send,receive)
bus=session
interface=org.freedesktop.DBus.Properties
path=/org/freedesktop/secrets,