~ubuntu-branches/ubuntu/quantal/lxc/quantal-201206191543

« back to all changes in this revision

Viewing changes to debian/lxc-default-with-nesting.apparmor

  • Committer: Package Import Robot
  • Author(s): Stéphane Graber
  • Date: 2012-05-18 19:05:44 UTC
  • Revision ID: package-import@ubuntu.com-20120518190544-d2ejphrownapveg1
Tags: 0.8.0~rc1-4ubuntu8
* Update lxc-ubuntu:
  - Update list of extra packages for debootstrap to only include vim
    and ssh. The others were only relevant when we were still using the
    minbase variant. (LP: #996839)
  - Drop any hardcoded Ubuntu version check and replace by feature
    checks instead.
  - Format lxc-ubuntu to consistently use 4-spaces indent instead of
    mixed spaces/tabs.
  - Update default /etc/network/interfaces to include the header.
  - Update default /etc/hosts to match that of a regular Ubuntu system.
  - Drop support for end-of-life releases (gutsy on sparc).
  - Make sure /etc/resolv.conf is valid before running any apt command.
  - Update template help message for release and arch parameters.
  - Switch default Ubuntu version from lucid to precise.
* Update lxc-start-ephemeral:
  - Remove lxc-ip and replace it by a call to "ip netns" until we have
    an extended lxc-attach we can use for that.
  - Fix a race in lxc-start-ephemeral where the container isn't yet
    running when trying to get its IPs.
  - Update a few calls so that lxc-start-ephemeral can be called as a
    user (ensure consistent usage of sudo across the script).
* Add new lxc-default-with-nesting apparmor profile, allowing nested
  containers.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Do not load this file.  Rather, load /etc/apparmor.d/lxc-containers, which
 
2
# will source all profiles under /etc/apparmor.d/lxc
 
3
 
 
4
profile lxc-container-default-with-nesting flags=(attach_disconnected,mediate_deleted) {
 
5
  network,
 
6
  capability,
 
7
  file,
 
8
  umount,
 
9
 
 
10
  # addition for container nesting
 
11
  mount -> /sys/fs/cgroup/**,
 
12
  mount fstype=proc -> /var/cache/lxc/**,
 
13
  mount fstype=sysfs -> /var/cache/lxc/**,
 
14
  mount fstype=devpts -> /dev/pts/,
 
15
  mount -> /usr/lib/lxc/root/,
 
16
  mount -> /usr/lib/lxc/root/**,
 
17
  mount /dev/pts/ptmx/ -> /dev/ptmx/,
 
18
  pivot_root,
 
19
  change_profile -> lxc-*,
 
20
 
 
21
  # ignore DENIED message on / remount
 
22
  deny mount options=(ro, remount) -> /,
 
23
 
 
24
  # allow tmpfs mounts everywhere
 
25
  mount fstype=tmpfs,
 
26
 
 
27
  # allow mqueue mounts everywhere
 
28
  mount fstype=mqueue,
 
29
 
 
30
  # allow bind mount of /lib/init/fstab for lxcguest
 
31
  mount options=(rw, bind) /lib/init/fstab.lxc/ -> /lib/init/fstab/,
 
32
 
 
33
  # deny writes in /proc/sys/fs but allow fusectl to be mounted
 
34
  mount fstype=binfmt_misc -> /proc/sys/fs/binfmt_misc/,
 
35
  deny @{PROC}/sys/fs/** wklx,
 
36
 
 
37
  # block some other dangerous paths
 
38
  deny @{PROC}/sysrq-trigger rwklx,
 
39
  deny @{PROC}/mem rwklx,
 
40
  deny @{PROC}/kmem rwklx,
 
41
  deny @{PROC}/sys/kernel/** wklx,
 
42
 
 
43
  # deny writes in /sys except for /sys/fs/cgroup, also allow
 
44
  # fusectl, securityfs and debugfs to be mounted there (read-only)
 
45
  mount fstype=fusectl -> /sys/fs/fuse/connections/,
 
46
  mount fstype=securityfs -> /sys/kernel/security/,
 
47
  mount fstype=debugfs -> /sys/kernel/debug/,
 
48
  deny mount fstype=debugfs -> /var/lib/ureadahead/debugfs/,
 
49
  mount fstype=proc -> /proc/,
 
50
  mount fstype=sysfs -> /sys/,
 
51
  deny /sys/[^f]*/** wklx,
 
52
  deny /sys/f[^s]*/** wklx,
 
53
  deny /sys/fs/[^c]*/** wklx,
 
54
  deny /sys/fs/c[^g]*/** wklx,
 
55
  deny /sys/fs/cg[^r]*/** wklx,
 
56
}