diff --git a/docs/drvlxc.html.in b/docs/drvlxc.html.in index fc4bc207f4..403ce241d3 100644 --- a/docs/drvlxc.html.in +++ b/docs/drvlxc.html.in @@ -540,6 +540,53 @@ debootstrap, whatever) under /opt/vm-1-root: </domain> +
+By default the libvirt LXC driver drops some capabilities among which CAP_MKNOD. +However since 1.2.6 libvirt can be told to keep or +drop some capabilities using a domain configuration like the following: +
++... +<features> + <capabilities policy='default'> + <mknod state='on'/> + <sys_chroot state='off'/> + </capabilities> +</features> +... ++
+The capabilities children elements are named after the capabilities as defined in
+man 7 capabilities
. An off
state tells libvirt to drop the
+capability, while an on
state will force to keep the capability even though
+this one is dropped by default.
+
+The policy
attribute can be one of default
, allow
+or deny
. It defines the default rules for capabilities: either keep the
+default behavior that is dropping a few selected capabilities, or keep all capabilities
+or drop all capabilities. The interest of allow
and deny
is that
+they guarantee that all capabilities will be kept (or removed) even if new ones are added
+later.
+
+The following example, drops all capabilities but CAP_MKNOD: +
++... +<features> + <capabilities policy='deny'> + <mknod state='on'/> + </capabilities> +</features> +... ++
+Note that allowing capabilities that are normally dropped by default can seriously +affect the security of the container and the host. +