web-dev-qa-db-ja.com

apparmorプロファイルをローカルでカスタマイズする方法は?

Aa-enforce(d)apparmorプロファイルでFirefoxを実行したいと思います。これは問題なく動作しますが、dbusを介してキーリングにアクセスする必要があるプラグインがあります。プラグイン( https://github.com/swick/moz-gnome-keyring-integration )がキーリングにアクセスしようとすると、ログに次のメッセージが表示されます。

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

したがって、apparmor-profiesパッケージによって提供される基本プロファイルを変更せずに、Firefoxプロファイルにデータベースアクセスを許可しようとしているため、/etc/apparamor.d/local/usr.bin.firefoxのファイルを変更しました。

これが私が試したものです:

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

しかし、その後、aa-enforce usr.bin.firefoxで、次のエラーが発生します。

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

Apparmorプロファイルを作成または変更しようとしたのはこれが初めてで、ここで行き詰まっています...構文はどうすればよいですか?

編集:apparmor_parserを使用して、私は別の情報を得ました:

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

したがって、予期しないTOK_OPEN、TOK_MODEを期待しています...それがどういう意味かまだわかりません。

EDIT2:/etc/apparmor.d/usr.bin.firefoxプロファイル内で同じスタンザを直接試しましたが、うまくいきました。したがって、問題はローカルのカスタマイズの使用に関係しています...

1
alci

問題は、開始ブラケット({および})。 #includeステートメントはすでにメインプロファイルの宣言内にあるため、角括弧は必要ありません。

# 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,
1
Ken Sharp