当前位置: 首页> 游戏> 单机 > 动态网页设计学什么_做个手机app软件需要多少钱_网推技巧_搜索引擎优化seo的英文全称是

动态网页设计学什么_做个手机app软件需要多少钱_网推技巧_搜索引擎优化seo的英文全称是

时间:2025/7/12 10:41:48来源:https://blog.csdn.net/pumpkin84514/article/details/144096385 浏览次数:0次
动态网页设计学什么_做个手机app软件需要多少钱_网推技巧_搜索引擎优化seo的英文全称是

Docker 容器隔离关键技术:Capabilities

在 Docker 中,Capabilities 是一种权限管理技术,它将 Linux 系统中传统的超级用户(root)权限拆分为多个独立的小权限(目前为 38 项)。这使得我们可以为容器按需分配权限,而不是直接授予完全的 root 权限。


什么是 Capabilities?

Capabilities 就像一组钥匙,每把钥匙对应某种权限。例如:

  • 一把钥匙允许你绑定网络端口(CAP_NET_BIND_SERVICE)。
  • 另一把钥匙允许你修改文件系统(CAP_SYS_ADMIN)。

通过分配具体的钥匙,你可以让容器只完成特定任务,而不会获取过多的权限。


完整的 Capabilities 列表及作用

以下是 Linux 内核最新版本(5.x)的 38 项 Capabilities,包含每项的作用、引入版本和 Docker 容器中默认是否启用(14 项默认启用的权限已标注)。

名称作用引入版本Docker 默认启用 (14 项)
CAP_AUDIT_CONTROL管理审计子系统(启用或禁用审计规则)。Linux 2.6.11
CAP_AUDIT_READ读取审计日志,用于系统审计工具。Linux 3.16
CAP_AUDIT_WRITE写入审计日志(通常用于记录系统事件)。Linux 2.6.11
CAP_BLOCK_SUSPEND阻止系统挂起,确保设备不会进入休眠状态。Linux 3.5
CAP_BPF加载和操作 eBPF 程序,允许用户空间与内核交互。Linux 5.8
CAP_CHECKPOINT_RESTORE执行进程的检查点和恢复操作(如迁移进程状态)。Linux 5.9
CAP_CHOWN修改文件或目录的所有权。Linux 2.2
CAP_DAC_OVERRIDE绕过文件的权限检查,允许访问受限制的文件。Linux 2.2
CAP_DAC_READ_SEARCH绕过目录的只读或搜索权限限制,允许读取特定文件内容。Linux 2.2
CAP_FOWNER忽略对文件的只读属性,允许修改文件属性。Linux 2.2
CAP_FSETID修改文件的 set-user-ID 或 set-group-ID 标志。Linux 2.2
CAP_IPC_LOCK锁定共享内存片段,防止被交换到磁盘。Linux 2.2
CAP_IPC_OWNER绕过进程间通信 (IPC) 的权限检查,允许直接访问共享资源。Linux 2.2
CAP_KILL向其他进程发送信号,例如 SIGKILLLinux 2.2
CAP_LEASE修改文件租约属性。Linux 2.4
CAP_LINUX_IMMUTABLE修改或删除文件的不可变属性(如 chattr +i 标志)。Linux 2.2
CAP_MAC_ADMIN管理强制访问控制 (MAC) 配置,如 SELinux 策略修改。Linux 2.6.25
CAP_MAC_OVERRIDE绕过强制访问控制规则,允许访问受限文件或资源。Linux 2.6.25
CAP_MKNOD创建特殊文件(如设备文件)。Linux 2.2
CAP_NET_ADMIN管理网络配置(如修改路由表、设置网络接口)。Linux 2.2
CAP_NET_BIND_SERVICE绑定低号端口(如 80 和 443)。Linux 2.2
CAP_NET_BROADCAST使用网络广播和多播数据包。Linux 2.2
CAP_NET_RAW使用原始套接字,允许发送或接收低级网络数据。Linux 2.2
CAP_PERFMON使用性能监控工具(如 perf,收集内核性能数据)。Linux 5.8
CAP_SETFCAP设置文件的功能标志(文件级的 Capabilities)。Linux 2.6.24
CAP_SETGID更改进程的 GID(组 ID),包括设置 GID 权限。Linux 2.2
CAP_SETPCAP调整进程的 Capabilities 设置,允许进程自身修改权限。Linux 2.2
CAP_SETUID更改进程的 UID(用户 ID),包括设置 UID 权限。Linux 2.2
CAP_SYS_ADMIN广泛的系统管理权限(如挂载文件系统、修改网络配置),几乎等同于 root 权限。Linux 2.2
CAP_SYS_BOOT允许重新启动系统。Linux 2.2
CAP_SYS_CHROOT使用 chroot() 系统调用,更改进程的根目录。Linux 2.2
CAP_SYS_MODULE加载和卸载内核模块。Linux 2.2
CAP_SYS_NICE调整进程优先级,例如设置实时调度策略。Linux 2.2
CAP_SYS_PACCT启用或禁用进程审计(Process Accounting)。Linux 2.2
CAP_SYS_PTRACE追踪其他进程,例如通过调试器(如 GDB)进行跟踪或注入代码。Linux 2.2
CAP_SYS_RAWIO执行直接内存访问或原始设备访问操作。Linux 2.2
CAP_SYS_RESOURCE修改系统资源限制(如调整 ulimit 配置)。Linux 2.2
CAP_SYS_TIME修改系统时间或时钟。Linux 2.2
CAP_SYS_TTY_CONFIG修改 TTY 设备的配置,例如设置串行端口属性。Linux 2.2

Docker 默认启用的 Capabilities

Docker 容器默认启用了 14 项 Capabilities:

  1. CAP_AUDIT_WRITE
  2. CAP_CHOWN
  3. CAP_DAC_OVERRIDE
  4. CAP_DAC_READ_SEARCH
  5. CAP_FOWNER
  6. CAP_FSETID
  7. CAP_IPC_LOCK
  8. CAP_IPC_OWNER
  9. CAP_KILL
  10. CAP_LEASE
  11. CAP_MKNOD
  12. CAP_NET_BIND_SERVICE
  13. CAP_NET_RAW
  14. CAP_SETUID

其他 Capabilities 默认被禁用,必须通过 --cap-add 显式启用。


在 Docker 中如何使用 Capabilities?

1. 添加特定权限

如果容器需要额外权限(如管理网络接口),可以通过 --cap-add 启用:

docker run --cap-add=CAP_NET_ADMIN -it ubuntu
2. 移除默认权限

为了更高的安全性,可以通过 --cap-drop 移除某些默认权限:

docker run --cap-drop=CAP_NET_RAW -it ubuntu
3. 移除所有权限

在高安全场景下,可以移除所有权限,仅保留必要权限:

docker run --cap-drop=ALL --cap-add=CAP_NET_BIND_SERVICE -it ubuntu

为什么 Capabilities 对容器安全重要?

  1. 按需授权:避免授予容器过多权限,降低被攻击后的风险。
  2. **最小

权限原则**:容器只能执行特定任务,提升隔离性。
3. 灵活配置:可以根据需要动态调整权限,满足任务需求。


总结

Capabilities 是 Docker 容器隔离的重要技术之一。它将传统 root 权限细化为 38 项小权限,既能满足功能需求,又能最大限度地降低安全风险。

关键字:动态网页设计学什么_做个手机app软件需要多少钱_网推技巧_搜索引擎优化seo的英文全称是

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: