[apparmor] [PATCH 2/4] profiles: Add strict session bus abstraction

John Johansen john.johansen at canonical.com
Tue Jan 7 21:12:38 UTC 2014


On 01/03/2014 02:26 PM, Tyler Hicks wrote:
> Move the file rule from the existing permissive session bus abstraction
> into a new strict session bus abstraction.
> 
> The strict abstraction only allows for calling the Hello, AddMatch,
> RemoveMatch, GetNameOwner, NameHasOwner, and StartServiceByName methods
> that are exported by the D-Bus daemon.
> 
> The permissive abstraction reuses the strict abstraction and then allows
> all communications on the session bus.
> 
> Signed-off-by: Tyler Hicks <tyhicks at canonical.com>

Acked-by: John Johansen <john.johansen at canonical.com>

> ---
>  profiles/apparmor.d/abstractions/dbus-session      |  9 ++++-----
>  .../apparmor.d/abstractions/dbus-session-strict    | 23 ++++++++++++++++++++++
>  2 files changed, 27 insertions(+), 5 deletions(-)
>  create mode 100644 profiles/apparmor.d/abstractions/dbus-session-strict
> 
> diff --git a/profiles/apparmor.d/abstractions/dbus-session b/profiles/apparmor.d/abstractions/dbus-session
> index 76a7bbf..2eda4e0 100644
> --- a/profiles/apparmor.d/abstractions/dbus-session
> +++ b/profiles/apparmor.d/abstractions/dbus-session
> @@ -1,7 +1,7 @@
>  # vim:syntax=apparmor
>  # ------------------------------------------------------------------
>  #
> -#    Copyright (C) 2011 Canonical Ltd.
> +#    Copyright (C) 2011-2013 Canonical Ltd.
>  #
>  #    This program is free software; you can redistribute it and/or
>  #    modify it under the terms of version 2 of the GNU General Public
> @@ -9,9 +9,8 @@
>  #
>  # ------------------------------------------------------------------
>  
> -  /usr/bin/dbus-launch ix,
> +  # This abstraction grants full session bus access. Consider using the
> +  # dbus-session-strict abstraction for fine-grained bus mediation.
>  
> -  # unique per-machine identifier
> -  /etc/machine-id r,
> -  /var/lib/dbus/machine-id r,
> +  #include <abstractions/dbus-session-strict>
>    dbus bus=session,
> diff --git a/profiles/apparmor.d/abstractions/dbus-session-strict b/profiles/apparmor.d/abstractions/dbus-session-strict
> new file mode 100644
> index 0000000..2c6a593
> --- /dev/null
> +++ b/profiles/apparmor.d/abstractions/dbus-session-strict
> @@ -0,0 +1,23 @@
> +# vim:syntax=apparmor
> +# ------------------------------------------------------------------
> +#
> +#    Copyright (C) 2011-2013 Canonical Ltd.
> +#
> +#    This program is free software; you can redistribute it and/or
> +#    modify it under the terms of version 2 of the GNU General Public
> +#    License published by the Free Software Foundation.
> +#
> +# ------------------------------------------------------------------
> +
> +  /usr/bin/dbus-launch ix,
> +
> +  # unique per-machine identifier
> +  /etc/machine-id r,
> +  /var/lib/dbus/machine-id r,
> +
> +  dbus send
> +       bus=session
> +       path=/org/freedesktop/DBus
> +       interface=org.freedesktop.DBus
> +       member={Hello,AddMatch,RemoveMatch,GetNameOwner,NameHasOwner,StartServiceByName}
> +       peer=(name=org.freedesktop.DBus),
> 




More information about the AppArmor mailing list