Me gustaría ejecutar Firefox con el perfil de aplicación aa-enforce(d). Esto funciona bien, excepto que tengo un complemento que necesita acceso al llavero a través de dbus. Cuando el complemento (https://github.com/swick/moz-gnome-keyring-integration) intenta acceder al conjunto de claves, aparece este mensaje en los registros:
[ 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"]
Entonces estoy tratando deotorgar acceso a dbusa mi perfil de Firefox, sin alterar el perfil base proporcionado por el paquete apparmor-profies, así que modifiqué el archivo en formato /etc/apparamor.d/local/usr.bin.firefox
.
Esto es lo que probé:
# 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,
}
pero luego, en aa-enforce usr.bin.firefox, aparece este error:
apparmor.common.AppArmorException: 'local/usr.bin.firefox profile in local/usr.bin.firefox contains syntax errors in line: 4.'
Esta es la primera vez que intento crear o modificar un perfil de apparmor y estoy atascado aquí... ¿Cuál debería ser la sintaxis?
EDITAR: usando apparmor_parser, obtuve otro poco de información:
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
Entonces, TOK_OPEN inesperado, esperando TOK_MODE... aún no tengo idea de lo que significa.
EDITAR2: Probé la misma estrofa directamente dentro del perfil /etc/apparmor.d/usr.bin.firefox y funciona. Entonces el problema tiene que ver con el uso de la personalización local...
Respuesta1
El problema surge de los corchetes de apertura ( {
y }
). La #include
declaración ya está dentro de la declaración del perfil principal, por lo que los corchetes no son necesarios.
# 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,