The documentation was a bit unhelpful as to what are the default
capabilities, so split.
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
| ... | ... |
@@ -1138,11 +1138,30 @@ This can be overridden using a third `:rwm` set of options to each `--device` fl |
| 1138 | 1138 |
|
| 1139 | 1139 |
In addition to `--privileged`, the operator can have fine grain control over the |
| 1140 | 1140 |
capabilities using `--cap-add` and `--cap-drop`. By default, Docker has a default |
| 1141 |
-list of capabilities that are kept. The following table lists the Linux capability options which can be added or dropped. |
|
| 1141 |
+list of capabilities that are kept. The following table lists the Linux capability |
|
| 1142 |
+options which are allowed by default and can be dropped. |
|
| 1142 | 1143 |
|
| 1143 | 1144 |
| Capability Key | Capability Description | |
| 1144 | 1145 |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | |
| 1145 | 1146 |
| SETPCAP | Modify process capabilities. | |
| 1147 |
+| MKNOD | Create special files using mknod(2). | |
|
| 1148 |
+| AUDIT_WRITE | Write records to kernel auditing log. | |
|
| 1149 |
+| CHOWN | Make arbitrary changes to file UIDs and GIDs (see chown(2)). | |
|
| 1150 |
+| NET_RAW | Use RAW and PACKET sockets. | |
|
| 1151 |
+| DAC_OVERRIDE | Bypass file read, write, and execute permission checks. | |
|
| 1152 |
+| FOWNER | Bypass permission checks on operations that normally require the file system UID of the process to match the UID of the file. | |
|
| 1153 |
+| FSETID | Don't clear set-user-ID and set-group-ID permission bits when a file is modified. | |
|
| 1154 |
+| KILL | Bypass permission checks for sending signals. | |
|
| 1155 |
+| SETGID | Make arbitrary manipulations of process GIDs and supplementary GID list. | |
|
| 1156 |
+| SETUID | Make arbitrary manipulations of process UIDs. | |
|
| 1157 |
+| NET_BIND_SERVICE | Bind a socket to internet domain privileged ports (port numbers less than 1024). | |
|
| 1158 |
+| SYS_CHROOT | Use chroot(2), change root directory. | |
|
| 1159 |
+| SETFCAP | Set file capabilities. | |
|
| 1160 |
+ |
|
| 1161 |
+The next table shows the capabilities which are not granted by default and may be added. |
|
| 1162 |
+ |
|
| 1163 |
+| Capability Key | Capability Description | |
|
| 1164 |
+| ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | |
|
| 1146 | 1165 |
| SYS_MODULE | Load and unload kernel modules. | |
| 1147 | 1166 |
| SYS_RAWIO | Perform I/O port operations (iopl(2) and ioperm(2)). | |
| 1148 | 1167 |
| SYS_PACCT | Use acct(2), switch process accounting on or off. | |
| ... | ... |
@@ -1151,36 +1170,23 @@ list of capabilities that are kept. The following table lists the Linux capabili |
| 1151 | 1151 |
| SYS_RESOURCE | Override resource Limits. | |
| 1152 | 1152 |
| SYS_TIME | Set system clock (settimeofday(2), stime(2), adjtimex(2)); set real-time (hardware) clock. | |
| 1153 | 1153 |
| SYS_TTY_CONFIG | Use vhangup(2); employ various privileged ioctl(2) operations on virtual terminals. | |
| 1154 |
-| MKNOD | Create special files using mknod(2). | |
|
| 1155 |
-| AUDIT_WRITE | Write records to kernel auditing log. | |
|
| 1156 | 1154 |
| AUDIT_CONTROL | Enable and disable kernel auditing; change auditing filter rules; retrieve auditing status and filtering rules. | |
| 1157 | 1155 |
| MAC_OVERRIDE | Allow MAC configuration or state changes. Implemented for the Smack LSM. | |
| 1158 | 1156 |
| MAC_ADMIN | Override Mandatory Access Control (MAC). Implemented for the Smack Linux Security Module (LSM). | |
| 1159 | 1157 |
| NET_ADMIN | Perform various network-related operations. | |
| 1160 | 1158 |
| SYSLOG | Perform privileged syslog(2) operations. | |
| 1161 |
-| CHOWN | Make arbitrary changes to file UIDs and GIDs (see chown(2)). | |
|
| 1162 |
-| NET_RAW | Use RAW and PACKET sockets. | |
|
| 1163 |
-| DAC_OVERRIDE | Bypass file read, write, and execute permission checks. | |
|
| 1164 |
-| FOWNER | Bypass permission checks on operations that normally require the file system UID of the process to match the UID of the file. | |
|
| 1165 | 1159 |
| DAC_READ_SEARCH | Bypass file read permission checks and directory read and execute permission checks. | |
| 1166 |
-| FSETID | Don't clear set-user-ID and set-group-ID permission bits when a file is modified. | |
|
| 1167 |
-| KILL | Bypass permission checks for sending signals. | |
|
| 1168 |
-| SETGID | Make arbitrary manipulations of process GIDs and supplementary GID list. | |
|
| 1169 |
-| SETUID | Make arbitrary manipulations of process UIDs. | |
|
| 1170 | 1160 |
| LINUX_IMMUTABLE | Set the FS_APPEND_FL and FS_IMMUTABLE_FL i-node flags. | |
| 1171 |
-| NET_BIND_SERVICE | Bind a socket to internet domain privileged ports (port numbers less than 1024). | |
|
| 1172 | 1161 |
| NET_BROADCAST | Make socket broadcasts, and listen to multicasts. | |
| 1173 | 1162 |
| IPC_LOCK | Lock memory (mlock(2), mlockall(2), mmap(2), shmctl(2)). | |
| 1174 | 1163 |
| IPC_OWNER | Bypass permission checks for operations on System V IPC objects. | |
| 1175 |
-| SYS_CHROOT | Use chroot(2), change root directory. | |
|
| 1176 | 1164 |
| SYS_PTRACE | Trace arbitrary processes using ptrace(2). | |
| 1177 | 1165 |
| SYS_BOOT | Use reboot(2) and kexec_load(2), reboot and load a new kernel for later execution. | |
| 1178 | 1166 |
| LEASE | Establish leases on arbitrary files (see fcntl(2)). | |
| 1179 |
-| SETFCAP | Set file capabilities. | |
|
| 1180 | 1167 |
| WAKE_ALARM | Trigger something that will wake up the system. | |
| 1181 |
-| BLOCK_SUSPEND | Employ features that can block system suspend. |
|
| 1168 |
+| BLOCK_SUSPEND | Employ features that can block system suspend. | |
|
| 1182 | 1169 |
|
| 1183 |
-Further reference information is available on the [capabilities(7) - Linux man page](http://linux.die.net/man/7/capabilities) |
|
| 1170 |
+Further reference information is available on the [capabilities(7) - Linux man page](http://man7.org/linux/man-pages/man7/capabilities.7.html) |
|
| 1184 | 1171 |
|
| 1185 | 1172 |
Both flags support the value `ALL`, so if the |
| 1186 | 1173 |
operator wants to have all capabilities but `MKNOD` they could use: |