]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blob - data/apparmor/abstractions/lightdm
Update the lightdm AppArmor abstraction to allow the guest session to start when...
[sojka/lightdm.git] / data / apparmor / abstractions / lightdm
1 # vim:syntax=apparmor
2 # Profile for restricting lightdm guest session
3 # Author: Martin Pitt <martin.pitt@ubuntu.com>
4
5 # This abstraction provides the majority of the confinement for guest sessions.
6 # It is in its own abstraction so we can have a centralized place for
7 # confinement for the various lightdm sessions (guest, freerdp, uccsconfigure,
8 # etc). Note that this profile intentionally omits chromium-browser.
9
10   #include <abstractions/authentication>
11   #include <abstractions/cups-client>
12   #include <abstractions/dbus>
13   #include <abstractions/dbus-session>
14   #include <abstractions/dbus-accessibility>
15   #include <abstractions/nameservice>
16   #include <abstractions/wutmp>
17   /etc/compizconfig/config rw, # bug in compiz https://launchpad.net/bugs/697678
18
19   / r,
20   /bin/ rmix,
21   /bin/fusermount Px,
22   /bin/** rmix,
23   /cdrom/ rmix,
24   /cdrom/** rmix,
25   /dev/ r,
26   /dev/** rmw, # audio devices etc.
27   owner /dev/shm/** rmw,
28   /etc/ r,
29   /etc/** rmk,
30   /etc/gdm/Xsession ix,
31   /lib/ r,
32   /lib/** rmixk,
33   /lib32/ r,
34   /lib32/** rmixk,
35   /lib64/ r,
36   /lib64/** rmixk,
37   owner /media/ r,
38   owner /media/** rmwlixk,  # we want access to USB sticks and the like
39   /opt/ r,
40   /opt/** rmixk,
41   @{PROC}/ r,
42   @{PROC}/* rm,
43   @{PROC}/asound rm,
44   @{PROC}/asound/** rm,
45   @{PROC}/ati rm,
46   @{PROC}/ati/** rm,
47   owner @{PROC}/** rm,
48   # needed for gnome-keyring-daemon
49   @{PROC}/*/status r,
50   # needed for bamfdaemon and utilities such as ps and killall
51   @{PROC}/*/stat r,
52   /sbin/ r,
53   /sbin/** rmixk,
54   /sys/ r,
55   /sys/** rm,
56   # needed for confined trusted helpers, such as dbus-daemon
57   /sys/kernel/security/apparmor/.access rw,
58   /tmp/ rw,
59   owner /tmp/** rwlkmix,
60   /usr/ r,
61   /usr/** rmixk,
62   /var/ r,
63   /var/** rmixk,
64   /var/guest-data/** rw, # allow to store files permanently
65   /var/tmp/ rw,
66   owner /var/tmp/** rwlkm,
67   /{,var/}run/ r,
68   # necessary for writing to sockets, etc.
69   /{,var/}run/** rmkix,
70   /{,var/}run/shm/** wl,
71   # libpam-xdg-support/logind
72   owner /{,var/}run/user/*/** rw,
73
74   capability ipc_lock,
75
76   # allow processes in the guest session to signal and ptrace each other
77   signal peer=@{profile_name},
78   ptrace peer=@{profile_name},
79   # needed when logging out of the guest session
80   signal (receive) peer=unconfined,
81
82   # silence warnings for stuff that we really don't want to grant
83   deny capability dac_override,
84   deny capability dac_read_search,
85   #deny /etc/** w, # re-enable once LP#697678 is fixed
86   deny /usr/** w,
87   deny /var/crash/ w,