diff options
| author | Serge E. Hallyn <[email protected]> | 2010-11-25 17:11:32 +0000 |
|---|---|---|
| committer | James Morris <[email protected]> | 2010-11-29 08:35:12 +1100 |
| commit | ce6ada35bdf710d16582cc4869c26722547e6f11 (patch) | |
| tree | c2b5fd46c883f4b7285b191bac55940022662b43 /include/linux | |
| parent | 1d6d75684d869406e5bb2ac5d3ed9454f52d0cab (diff) | |
security: Define CAP_SYSLOG
Privileged syslog operations currently require CAP_SYS_ADMIN. Split
this off into a new CAP_SYSLOG privilege which we can sanely take away
from a container through the capability bounding set.
With this patch, an lxc container can be prevented from messing with
the host's syslog (i.e. dmesg -c).
Changelog: mar 12 2010: add selinux capability2:cap_syslog perm
Changelog: nov 22 2010:
. port to new kernel
. add a WARN_ONCE if userspace isn't using CAP_SYSLOG
Signed-off-by: Serge Hallyn <[email protected]>
Acked-by: Andrew G. Morgan <[email protected]>
Acked-By: Kees Cook <[email protected]>
Cc: James Morris <[email protected]>
Cc: Michael Kerrisk <[email protected]>
Cc: Stephen Smalley <[email protected]>
Cc: "Christopher J. PeBenito" <[email protected]>
Cc: Eric Paris <[email protected]>
Signed-off-by: James Morris <[email protected]>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/capability.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/capability.h b/include/linux/capability.h index 90012b9ddbf3..fb16a3699b99 100644 --- a/include/linux/capability.h +++ b/include/linux/capability.h @@ -246,7 +246,6 @@ struct cpu_vfs_cap_data { /* Allow configuration of the secure attention key */ /* Allow administration of the random device */ /* Allow examination and configuration of disk quotas */ -/* Allow configuring the kernel's syslog (printk behaviour) */ /* Allow setting the domainname */ /* Allow setting the hostname */ /* Allow calling bdflush() */ @@ -352,7 +351,11 @@ struct cpu_vfs_cap_data { #define CAP_MAC_ADMIN 33 -#define CAP_LAST_CAP CAP_MAC_ADMIN +/* Allow configuring the kernel's syslog (printk behaviour) */ + +#define CAP_SYSLOG 34 + +#define CAP_LAST_CAP CAP_SYSLOG #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP) |