]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
oracle template: drop additional capabilities
authorDwight Engen <dwight.engen@oracle.com>
Mon, 7 Jan 2013 19:02:31 +0000 (14:02 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 8 Jan 2013 17:06:57 +0000 (12:06 -0500)
Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
templates/lxc-oracle.in

index 3242dc412240986d0cfd001ca063beedf3f53eb5..6a64a338f984c4c2ba0229e9fcd23027bf2c9427 100644 (file)
@@ -292,10 +292,32 @@ lxc.tty = 4
 lxc.pts = 1024
 lxc.rootfs = $container_rootfs
 lxc.mount = $cfg_dir/fstab
-lxc.cap.drop = sys_rawio
-# Networking
+# Uncomment these if you don't run anything that needs the capability, and   
+# would like the container to run with less privilege.
+#
+# Dropping sys_admin disables container root from doing a lot of things   
+# that could be bad like re-mounting lxc fstab entries rw for example,    
+# but also disables some useful things like being able to nfs mount, and    
+# things that are already namespaced with ns_capable() kernel checks, like  
+# hostname(1).  
+# lxc.cap.drop = sys_admin
+# lxc.cap.drop = net_raw          # breaks dhcp/ping
+# lxc.cap.drop = setgid           # breaks login (initgroups/setgroups)
+# lxc.cap.drop = dac_read_search  # breaks login (pam unix_chkpwd)
+# lxc.cap.drop = setuid           # breaks sshd,nfs statd
+# lxc.cap.drop = audit_control    # breaks sshd (set_loginuid failed)
+# lxc.cap.drop = audit_write
+#
+lxc.cap.drop = mac_admin mac_override setfcap setpcap
+lxc.cap.drop = sys_module sys_nice sys_pacct  
+lxc.cap.drop = sys_rawio sys_time
 EOF
 
+    if [ $container_release_major != "4" ]; then
+        echo "lxc.cap.drop = sys_resource" >>$cfg_dir/config
+    fi
+
+    echo "# Networking" >>$cfg_dir/config
     # see if the network settings were already specified
     lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
     if [ -z "$lxc_network_type" -a                     \