linux 较新版本的docker有--cap-add,可以添加哪些CAP?

b5buobof  于 2023-04-29  发布在  Linux
关注(0)|答案(2)|浏览(182)

Docker的新版本(我认为1。2和更高版本)具有--cap-add功能。
这提供了对特性功能的细粒度控制,而无需使用--privileged=true打开所有内容。
我在谷歌上搜索过,但找不到功能列表和它们的含义。有人能帮忙吗?

hpcdzsge

hpcdzsge1#

够好笑的。我在谷歌上搜索了一个小时都没找到答案我在这里问问题,并在2秒内找到它。
http://man7.org/linux/man-pages/man7/capabilities.7.html
当将这些传递给docker时,您需要在名称中删除CAP_。
即允许安装在码头集装箱内

docker run --cap-add SYS_ADMIN ...
vfh0ocws

vfh0ocws2#

以下内容可能有用: www.example.com
以下摘录自上页(2022年2月3日):
默认情况下,Docker有一个默认的功能列表。下表列出了默认情况下允许的Linux功能选项,可以删除这些选项。
| 能力密钥|能力描述|
| --------------|--------------|
| 审核_写入|将记录写入内核审核日志。|
| 咀嚼|对文件UID和GID进行任意更改(参见chown(2))。|
| DAC_覆盖|绕过文件读取、写入和执行权限检查。|
| FOWNER|对于通常要求进程的文件系统UID与文件的UID匹配的操作,跳过权限检查。|
| FSETID|修改文件时不要清除set-user-ID和set-group-ID权限位。|
| 杀|绕过发送信号的权限检查。|
| MKNOD|使用mknod(2)创建特殊文件。|
| NET_BIND_SERVICE|将套接字绑定到Internet域特权端口(端口号小于1024)。|
| NET_RAW|使用RAW和PACKET插座。|
| SETFCAP|设置文件功能。|
| SETGID|对过程GID和补充GID列表进行任意操作。|
| 设置|修改进程功能。|
| 设置|对进程UID进行任意操作。|
| SYS_CHROOT|使用chroot(2),更改根目录。|
下表显示了默认情况下不授予的功能,可以添加这些功能。
| 能力密钥|能力描述|
| --------------|--------------|
| 审计控制|启用和禁用内核审计;更改审核筛选规则;检索审核状态和筛选规则。|
| 审核_读取|允许通过多播netlink套接字阅读审核日志。|
| 阻止_暂停|允许防止系统挂起。|
| BPF|允许创建BPFMap、加载BPF类型格式(BTF)数据、检索BPF程序的JIT代码等。|
| 检查点_恢复|允许检查点/恢复相关操作。在kernel 5中引入。9.|
| DAC_读取_搜索|绕过文件读取权限检查以及目录读取和执行权限检查。|
| IPC_LOCK|锁定内存(mlock(2),mlockall(2),mmap(2),shmctl(2))。|
| IPC_所有者|绕过System V IPC对象上操作的权限检查。|
| 租赁|在任意文件上建立租约(参见fcntl(2))。|
| LINUX_不可变|设置FS_APPEND_FL和FS_IMMUTABLE_FL i节点标志。|
| MAC_ADMIN|允许MAC配置或状态更改。针对Smack LSM实施。|
| MAC_OVERRIDE|覆盖强制访问控制(MAC)。Smack Linux安全模块(LSM)|
| NET_ADMIN|执行各种网络相关操作。|
| 网络广播|进行套接字广播,并侦听多播。|
| PERFMON|允许使用perf_events、i915_perf和其他内核子系统进行系统性能和可观察性特权操作|
| SYS_ADMIN|执行一系列系统管理操作。|
| 系统 Boot |使用reboot(2)和kexec_load(2),重新启动并加载新内核以供以后执行。|
| 系统模块|加载和卸载内核模块。|
| SYS_NICE|提高进程的nice值(nice(2),setpriority(2))并更改任意进程的nice值。|
| SYS_PACCT|使用acct(2),打开或关闭进程记帐。|
| SYS_PTRACE|使用ptrace(2)跟踪任意进程。|
| 系统_RAWIO|执行I/O端口操作(iopl(2)和ioperm(2))。|
| 系统资源|覆盖资源限制。|
| 系统时间|设置系统时钟(settimeofday(2),stime(2),adjtimex(2));设置实时(硬件)时钟。|
| SYS_TTY_CONFIG|使用vhangup(2);在虚拟终端上使用各种特权ioctl(2)操作。|
| 系统日志|执行特权syslog(2)操作。|
| 唤醒报警|触发一些东西,唤醒系统。|

相关问题