Gentoo Logo

POSIX Capabilities

Content:

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.


Print

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.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.