较新版本的Docker(我认为是1.2及以上)具有
--cap-add
功能。
这提供了细粒度的功能控制,而不需要使用--privileged=true
打开所有功能。
我已经搜索过了,但找不到功能清单以及它们的含义。有人可以帮忙吗?--cap-add
功能。
这提供了细粒度的功能控制,而不需要使用--privileged=true
打开所有功能。
我已经搜索过了,但找不到功能清单以及它们的含义。有人可以帮忙吗?http://man7.org/linux/man-pages/man7/capabilities.7.html
当将这些内容传递给Docker时,您需要在名称中删除CAP_。docker run --cap-add SYS_ADMIN ...
默认情况下,Docker 有一个默认的功能列表。 以下表格列出了 Linux 能力选项,这些选项默认情况下是允许的,并且可以被丢弃。
能力键 | 能力描述 |
---|---|
AUDIT_WRITE | 将记录写入内核审计日志。 |
CHOWN | 对文件UID和GID进行任意更改(参见chown(2))。 |
DAC_OVERRIDE | 绕过文件读取、写入和执行权限检查。 |
FOWNER | 绕过通常需要进程的文件系统UID与文件UID匹配的操作的权限检查。 |
FSETID | 在修改文件时不清除设置用户ID和设置组ID权限位。 |
KILL | 绕过发送信号的权限检查。 |
MKNOD | 使用mknod(2)创建特殊文件。 |
NET_BIND_SERVICE | 将套接字绑定到Internet域特权端口(端口号小于1024)。 |
NET_RAW | 使用RAW和PACKET套接字。 |
SETFCAP | 设置文件能力。 |
SETGID | 对进程GID和附加GID列表进行任意操作。 |
SETPCAP | 修改进程能力。 |
SETUID | 对进程UID进行任意操作。 |
SYS_CHROOT | 使用chroot(2),更改根目录。 |
能力键 | 能力描述 |
---|---|
AUDIT_CONTROL | 启用和禁用内核审计;更改审计过滤规则;检索审计状态和过滤规则。 |
AUDIT_READ | 允许通过多播 netlink 套接字读取审计日志。 |
BLOCK_SUSPEND | 允许阻止系统挂起。 |
BPF | 允许创建 BPF 映射、加载 BPF 类型格式(BTF)数据、检索 BPF 程序的 JIT 代码等。 |
CHECKPOINT_RESTORE | 允许检查点/还原相关操作。在内核 5.9 中引入。 |
DAC_READ_SEARCH | 绕过文件读取权限检查和目录读取和执行权限检查。 |
IPC_LOCK | 锁定内存(mlock(2)、mlockall(2)、mmap(2)、shmctl(2))。 |
IPC_OWNER | 绕过对 System V IPC 对象操作的权限检查。 |
LEASE | 在任意文件上建立租约(参见 fcntl(2))。 |
LINUX_IMMUTABLE | 设置 FS_APPEND_FL 和 FS_IMMUTABLE_FL i-node 标志。 |
MAC_ADMIN | 允许 MAC 配置或状态更改。实现了 Smack LSM。 |
MAC_OVERRIDE | 覆盖强制访问控制(MAC)。实现了 Smack Linux 安全模块(LSM)。 |
NET_ADMIN | 执行各种与网络相关的操作。 |
NET_BROADCAST | 进行套接字广播,并侦听多播。 |
PERFMON | 使用 perf_events、i915_perf 和其他内核子系统进行系统性能和可观察特权操作 |
SYS_ADMIN | 执行一系列系统管理操作。 |
SYS_BOOT | 使用 reboot(2) 和 kexec_load(2),重新启动并加载新内核以供后续执行。 |
SYS_MODULE | 加载和卸载内核模块。 |
SYS_NICE | 提高进程优先级值(nice(2)、setpriority(2)),并更改任意进程的优先级值。 |
SYS_PACCT | 使用 acct(2),打开或关闭进程帐户。 |
SYS_PTRACE | 使用 ptrace(2) 跟踪任意进程。 |
SYS_RAWIO | 执行 I/O 端口操作(iopl(2) 和 ioperm(2))。 |
SYS_RESOURCE | 覆盖资源限制。 |
SYS_TIME | 设置系统时钟(settimeofday(2)、stime(2)、adjtimex(2));设置实时(硬件)时钟。 |
SYS_TTY_CONFIG | 使用 vhangup(2);在虚拟终端上使用各种特权 ioctl(2) 操作。 |
--cap-add
。 - Michał Lepczyński