POSIX Capabilities
1.
CAP_CHOWN
Code Listing1.1: CAP_CHOWN |
CAP_CHOWN
In a system with the [_POSIX_CHOWN_RESTRICTED] option defined,
this overrides the restriction of changing file ownership and
group ownership.
|
2.
CAP_DAC_OVERRIDE
Code Listing2.1: CAP_DAC_OVERRIDE |
CAP_DAC_OVERRIDE
Override all DAC access, including ACL execute access
if [_POSIX_ACL] is defined.
Excluding DAC access covered by CAP_LINUX_IMMUTABLE.
|
3.
CAP_DAC_READ_SEARCH
Code Listing3.1: CAP_DAC_READ_SEARCH |
CAP_DAC_READ_SEARCH
Overrides all DAC restrictions, regarding read and search on files
and directories, including ACL restrictions, if [_POSIX_ACL] is
defined. Excluding DAC access covered by CAP_LINUX_IMMUTABLE.
|
4.
CAP_FOWNER
Code Listing4.1: CAP_FOWNER |
CAP_FOWNER
Overrides all restrictions about allowed operations on files, where
file owner ID must be equal to the user ID, except where CAP_FSETID
is applicable. It doesn't override MAC and DAC restrictions.
|
5.
CAP_FSETID
Code Listing5.1: CAP_FSETID |
CAP_FSETID
Overrides the following restrictions, that the effective user ID shall
match the file owner ID, when setting the S_ISUID and S_ISGID bits on
that file; that the effective group ID (or one of the supplementary
group IDs) shall match the file owner ID when setting the S_ISGID bit
on that file; that the S_ISUID and S_ISGID bits are cleared on
successful return from chown(2) (not implemented).
|
6.
CAP_FS_MASK
Code Listing6.1: CAP_FS_MASK |
CAP_FS_MASK
Used to decide between falling back on the old suser() or fsuser().
|
7.
CAP_KILL
Code Listing7.1: CAP_KILL |
CAP_KILL
Overrides the restriction, that the real or effective user ID of a process,
sending a signal, must match the real or effective user ID of the process,
receiving the signal.
|
8.
CAP_SETGID
Code Listing8.1: CAP_SETGID |
CAP_SETGID
Allows setgid(2) manipulation;
Allows setgroups(2);
Allows forged gids on socket credentials passing.
|
9.
CAP_SETUID
Code Listing9.1: CAP_SETUID |
CAP_SETUID
Allows set*uid(2) manipulation (including fsuid);
Allows forged pids on socket credentials passing.
|
10.
CAP_SETPCAP
Code Listing10.1: CAP_SETPCAP |
CAP_SETPCAP
Transfer any capability in your permitted set to any pid, remove any capability in your permitted set from any pid.
|
11.
CAP_LINUX_IMMUTABLE
Code Listing11.1: CAP_LINUX_IMMUTABLE |
CAP_LINUX_IMMUTABLE
Allow modification of S_IMMUTABLE and S_APPEND file attributes.
|
12.
CAP_NET_BIND_SERVICE
Code Listing12.1: CAP_NET_BIND_SERVICE |
CAP_NET_BIND_SERVICE
Allows binding to TCP/UDP sockets below 1024;
Allows binding to ATM VCIs below 32.
|
13.
CAP_NET_BROADCAST
Code Listing13.1: CAP_NET_BROADCAST |
CAP_NET_BROADCAST
Allow broadcasting, listen to multicast.
|
14.
CAP_NET_ADMIN
Code Listing14.1: CAP_NET_ADMIN |
CAP_NET_ADMIN
Allow interface configuration;
Allow administration of IP firewall, masquerading and accounting;
Allow setting debug option on sockets;
Allow modification of routing tables;
Allow setting arbitrary process / process group ownership on sockets;
Allow binding to any address for transparent proxying;
Allow setting TOS (type of service);
Allow setting promiscuous mode;
Allow clearing driver statistics;
Allow multicasting;
Allow read/write of devicespecific registers;
Allow activation of ATM control sockets.
|
15.
CAP_NET_RAW
Code Listing15.1: CAP_NET_RAW |
CAP_NET_RAW
Allow use of RAW sockets;
Allow use of PACKET sockets.
|
16.
CAP_IPC_LOCK
Code Listing16.1: CAP_IPC_LOCK |
CAP_IPC_LOCK
Allow locking of shared memory segments;
Allow mlock and mlockall (which doesn't really have anything to do with IPC).
|
17.
CAP_IPC_OWNER
Code Listing17.1: CAP_IPC_OWNER |
CAP_IPC_OWNER
Override IPC ownership checks.
|
18.
CAP_SYS_MODULE
Code Listing18.1: CAP_SYS_MODULE |
CAP_SYS_MODULE
Insert and remove kernel modules modify kernel without limit;
Modify cap_bset.
|
19.
CAP_SYS_RAWIO
Code Listing19.1: CAP_SYS_RAWIO |
CAP_SYS_RAWIO
Allow ioperm/iopl access;
Allow sending USB messages to any device via /proc/bus/usb.
|
20.
CAP_SYS_CHROOT
Code Listing20.1: CAP_SYS_CHROOT |
CAP_SYS_CHROOT
Allow use of chroot().
|
21.
CAP_SYS_PTRACE
Code Listing21.1: CAP_SYS_PTRACE |
CAP_SYS_PTRACE
Allow ptrace() of any process.
|
22.
CAP_SYS_PACCT
Code Listing22.1: CAP_SYS_PACCT |
CAP_SYS_PACCT
Allow configuration of process accounting.
|
23.
CAP_SYS_ADMIN
Code Listing23.1: CAP_SYS_ADMIN |
CAP_SYS_ADMIN
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();
Allow mount() and umount(), setting up new smb connection;
Allow some autofs root ioctls;
Allow nfsservctl; Allow VM86_REQUEST_IRQ;
Allow to read/write pci config on alpha; Allow irix_prctl on mips (setstacksize);
Allow flushing all cache on m68k (sys_cacheflush);
Allow removing semaphores; Used instead of CAP_CHOWN to "chown" IPC message queues, semaphores and shared memory;
Allow locking/unlocking of shared memory segment;
Allow turning swap on/off;
Allow forged pids on socket credentials passing;
Allow setting readahead and flushing buffers on block devices;
Allow setting geometry in floppy driver;
Allow turning DMA on/off in xd driver;
Allow administration of md devices (mostly the above, but some extra ioctls);
Allow tuning the ide driver;
Allow access to the nvram device;
Allow administration of apm_bios, serial and bttv (TV) device;
Allow manufacturer commands in isdn CAPI support driver;
Allow reading nonstandardized portions of pci configuration space;
Allow DDI debug ioctl on sbpcd driver;
Allow setting up serial ports;
Allow sending raw qic117 commands;
Allow enabling/disabling tagged queuing on SCSI controllers and sending arbitrary SCSI commands;
Allow setting encryption key on loopback filesystem.
|
24.
CAP_SYS_BOOT
Code Listing24.1: CAP_SYS_BOOT |
CAP_SYS_BOOT
Allow use of reboot().
|
25.
CAP_SYS_NICE
Code Listing25.1: CAP_SYS_NICE |
CAP_SYS_NICE
Allow raising priority and setting priority on other (different UID) processes;
Allow use of FIFO and roundrobin (realtime) scheduling on own processes and setting
the scheduling algorithm used by another process.
|
26.
CAP_SYS_RESOURCE
Code Listing26.1: CAP_SYS_RESOURCE |
CAP_SYS_RESOURCE
Override resource limits. Set resource limits;
Override quota limits;
Override reserved space on ext2 filesystem;
Modify data journaling mode on ext3 filesystem
(uses journaling resources); NOTE: ext2 honors fsuid when checking for
resource overrides, so you can override using fsuid too;
Override size restrictions on IPC message queues;
Allow more than 64hz interrupts from the realtime clock;
Override max number of consoles on console allocation;
Override max number of keymaps.
|
27.
CAP_SYS_TIME
Code Listing27.1: CAP_SYS_TIME |
CAP_SYS_TIME
Allow manipulation of system clock;
Allow irix_stime on mips;
Allow setting the realtime clock.
|
28.
CAP_SYS_TTY_CONFIG
Code Listing28.1: CAP_SYS_TTY_CONFIG |
CAP_SYS_TTY_CONFIG
Allow configuration of tty devices; Allow vhangup() of tty.
|
29.
CAP_MKNOD
Code Listing29.1: CAP_MKNOD |
CAP_MKNOD
Allow the privileged aspects of mknod().
|
30.
CAP_LEASE
Code Listing30.1: CAP_LEASE |
CAP_LEASE
Allow taking of leases on files.
|
|
|
Page updated January 22, 2005 |
Summary:
POSIX capabilities are a partitioning of the all powerful root privilege into a
set of distinct privileges
|
solar
Author
Adam Mondl
Contributor
|
Donate to support our development efforts.
|
|
|