Como personalizar localmente um perfil apparmor?

1

Eu gostaria de executar o Firefox com um perfil apparmor aa-enforce (d). Isso funciona bem, exceto que eu tenho um plugin que precisa acessar o chaveiro via dbus. Quando o plugin ( link ) tenta acessar o chaveiro, eu recebo esta mensagem nos logs:

[ 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"]

Então, estou tentando conceder acesso ao dbus ao perfil do meu Firefox, sem alterar o perfil base fornecido pelo pacote apparmor-profies, então modifiquei o arquivo em /etc/apparamor.d/local/usr.bin.firefox .

Aqui está o que eu tentei:

# 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,
}

mas, em seguida, em aa-enforce usr.bin.firefox, recebo este erro:

apparmor.common.AppArmorException: 'local/usr.bin.firefox profile in local/usr.bin.firefox contains syntax errors in line: 4.'

Esta é a primeira vez que tento criar ou modificar um perfil apparmor, e estou preso aqui ... Qual deve ser a sintaxe?

EDIT: usando o apparmor_parser, recebi outra informação:

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

Então, TOK_OPEN inesperado, esperando TOK_MODE ... não tem ideia do que isso significa ainda.

EDIT2: Eu tentei a mesma estrofe diretamente dentro do perfil /etc/apparmor.d/usr.bin.firefox, e funciona. Então o problema tem a ver com o uso da customização local ...

    
por alci 18.12.2014 / 15:14

1 resposta

1

O problema surge dos colchetes de abertura ( { e } ). A declaração #include já está dentro da declaração do perfil principal, portanto, os colchetes não são necessários.

# 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,
    
por Ken Sharp 19.02.2015 / 18:03