18. Unix/LIDS Capabilities

This list is based on the declaration of *lids_caps_desc[]from lids_cap.c, from LIDS v2.2.2-2.6.14, and from the man page for capabilities(7), rather than the LIDS man pages, lidsconf -H, or other LIDS documentation, which is sometimes out of date.

CAP_AUDIT_CONTROL
Enable and disable kernel auditing; change auditing filter rules; retrieve auditing status and filtering rules.


CAP_AUDIT_WRITE
Allow records to be written to kernel auditing log.


CAP_CHOWN
Allow arbitrary changes to file UIDs and GIDs (see chown(2), chgrp(2))


CAP_DAC_OVERRIDE
Bypass file read, write, and execute permission checks. (DAC = "discretionary access control".)


CAP_DAC_READ_SEARCH
Bypass file read permission checks and directory read and execute permission checks.


CAP_FOWNER
Bypass permission checks on operations that normally require the file system UID of the process to match the UID of the file (e.g., chmod(2), utime(2)), excluding those operations covered by the CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH; set extended file attributes (see chattr(1)) on arbitrary files; set Access Control Lists (ACLs) on arbitrary files; ignore directory sticky bit on file deletion; specify O_NOATIME for arbitrary files in open(2) and fcntl(2).


CAP_FSETID
Don't clear set-user-ID and set-group-ID bits when a file is modified; permit setting of the set-group-ID bit for a file whose GID does not match the file system or any of the supplementary GIDs of the calling process.


CAP_IPC_LOCK
Permit memory locking (cf. mlock(2), mlockall(2), mmap(2) and shmctl(2))


CAP_IPC_OWNER
Bypass permission checks for operations on System V IPC objects.


CAP_KILL
Bypass permission checks for sending signals (see kill(2)). This includes use of the KDSIGACCEPT ioctl.


CAP_LEASE
Allow file leases to be established on arbitrary files (see fcntl(2)).


CAP_LINUX_IMMUTABLE
Allow setting of the EXT2_APPEND_FL and EXT2_IMMUTABLE_FL (and EXT3_ filesystem attributes (see chattr(1)).


CAP_MKNOD
Allow creation of special files using mknod(2).


CAP_NET_ADMIN
Allow various network-related operations (e.g., setting privileged socket options, enabling multicasting, interface configuration, modifying routing tables).


CAP_NET_BIND_SERVICE
Allow binding to Internet domain reserved socket ports (port numbers less than 1024).


CAP_NET_BROADCAST
Allow socket broadcasting, and listening multicasts.


CAP_NET_RAW
Permit use of RAW and PACKET sockets.


CAP_PROTECTED (specific to LIDS)
Protect the process from signals. Question: CAP_KILL vs CAP_PROTECTED?


CAP_SETGID
Allow arbitrary manipulations of process GIDs and supplementary GID list; allow forged GID when passing socket credentials via Unix domain sockets


CAP_SETPCAP
Grant or remove any capability in the caller's permitted capability set to or from any other process.


CAP_SETUID
Allow arbitrary manipulations of process UIDs (setuid(2), setreuid(2), setresuid(2), setfsuid(2)); allow forged UID when passing socket credentials via Unix domain sockets.


CAP_SYS_ADMIN
Permit a range of system administration operations including: quotactl(2), mount(2), umount(2), swapon(2), swapoff(2), sethostname(2), setdomainname(2), IPC_SET and IPC_RMID operations on arbitrary System V IPC objects; perform operations on trusted and security Extended Attributes (see attr(5)); call lookup_dcookie(2); perform keyctl(2) KEYCTL_CHOWN and KEYCTL_SETPERM operations; allow forged UID when passing socket credentials; exceed /proc/sys/fs/file-max, the system-wide limit on the number of open files, in system calls that open files (e.g., accept(2), execve(2), open(2), pipe(2); without this capability these system calls will fail with the error ENFILE if this limit is encountered).


CAP_SYS_BOOT
Permits calls to reboot(2) and kexec_load(2).


CAP_SYS_CHROOT
Permits calls to chroot(2)


CAP_SYS_MODULE
Allow loading and unloading of kernel modules; allow modifications to capability bounding set (see init_module(2) and delete_module(2)).


CAP_SYS_NICE
Allow raising process nice value (nice(2), setpriority(2)) and changing of the nice value for arbitrary processes; allow setting of real-time scheduling policies for calling process, and setting scheduling policies and priorities for arbitrary processes (sched_setscheduler(2), sched_setparam(2)); set CPU affinity for arbitrary processes (sched_setaffinity()); use the MPOL_MF_MOVE_ALL with mbind(2).


CAP_SYS_PACCT
Permit calls to acct(2).


CAP_SYS_PTRACE
Allow arbitrary processes to be traced using ptrace(2)


CAP_SYS_RAWIO
Permit I/O port operations (ioperm(2) and iopl(2)


CAP_SYS_RESOURCE
Permit: use of reserved space on Ext2 file systems; ioctl(2) calls controlling Ext3 journaling; disk quota limits to be overridden; resource limits to be increased (see setrlimit(2)); RLIMIT_NPROC resource limit to be overridden; msg_qbytes limit for a message queue to be raised above the limit in /proc/sys/kernel/msgmnb (see msgop(2) and msgctl(2).


CAP_SYS_TIME
Allow modification of system clock (settimeofday(2), adjtimex(2)); allow modification of real-time (hardware) clock.


CAP_SYS_TTY_CONFIG
Permit calls to vhangup(2).


Question: lids_acl.c refers to CAP_KILL_PROTECTED but this is certainly not available as a Capability (try it with lidsconf). Is this dead code?


...previousup (conts)next...



About this document:

Produced from the SGML: /home/mc/public_html/_unix_security/_reml_grp/unix_sec_kernel_lids.reml
On: 19/5/2006 at 11:53:2
Options: reml2 -i noindex -l long -o html -p multiple