Are you an LLM? You can read better optimized documentation at /zh/docs/25.09/cloud/container_engine/isula_container_engine/privileged_container.md for this page in Markdown format
Are you an LLM? You can read better optimized documentation at /zh/docs/25.09/cloud/container_engine/isula_container_engine/privileged_container.md for this page in Markdown format
特权容器 场景说明 iSulad默认启动的是普通容器,普通容器适合启动普通进程,其权限非常受限,仅具备/etc/default/isulad/config.json中capabilities所定义的默认权限。当需要特权操作时(比如操作/sys下的设备),需要特权容器完成这些操作,使用该特性,容器内的root将拥有宿主机的root权限, 否则,容器内的root在只是宿主机的普通用户权限。
使用限制 特权容器为容器提供了所有功能,还解除了设备cgroup控制器强制执行的所有限制,具备以下特性:
Secomp不block任何系统调用 /sys、/proc路径可写 容器内能访问主机上所有设备 系统的权能将全部打开 普通容器默认权能为:
Capability Key
Capability Description
SETPCAP
修改进程权能
MKNOD
允许使用mknod()系统调用创建特殊文件
AUDIT_WRITE
向内核审计日志写记录
CHOWN
对文件的 UIDs 和 GIDs 做任意的修改(参考 chown(2))
NET_RAW
使用 RAW 和 PACKET sockets;为透明代理绑定任何地址
DAC_OVERRIDE
忽略文件的DAC访问限制
FOWNER
忽略文件属主ID必须和进程用户ID相匹配的限制
FSETID
允许设置文件的setuid位
KILL
允许对不属于自己的进程发送信号
SETGID
允许改变进程的组ID
SETUID
允许改变进程的用户ID
NET_BIND_SERVICE
允许绑定到小于1024的端口
SYS_CHROOT
允许使用chroot()系统调用
SETFCAP
允许向其他进程转移能力以及删除其他进程的能力
当容器为特权模式时,将添加以下权能:
Capability Key
Capability Description
SYS_MODULE
加载和卸载内核模块
SYS_RAWIO
允许直接访问/devport,/dev/mem,/dev/kmem及原始块设备
SYS_PACCT
允许执行进程的BSD式审计
SYS_ADMIN
允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等
SYS_NICE
允许提升优先级及设置其他进程的优先级
SYS_RESOURCE
忽略资源限制
SYS_TIME
允许改变系统时钟
SYS_TTY_CONFIG
允许配置TTY设备
AUDIT_CONTROL
启用和禁用内核审计;修改审计过滤器规则;提取审计状态和过滤规则
MAC_ADMIN
覆盖强制访问控制 (Mandatory Access Control (MAC)),为Smack Linux安全模块(Linux Security Module (LSM)) 而实现
MAC_OVERRIDE
允许 MAC 配置或状态改变。为 Smack LSM 而实现
NET_ADMIN
允许执行网络管理任务
SYSLOG
执行特权 syslog(2) 操作
DAC_READ_SEARCH
忽略文件读及目录搜索的DAC访问限制
LINUX_IMMUTABLE
允许修改文件的IMMUTABLE和APPEND属性标志
NET_BROADCAST
允许网络广播和多播访问
IPC_LOCK
允许锁定共享内存片段
IPC_OWNER
忽略IPC所有权检查
SYS_PTRACE
允许跟踪任何进程
SYS_BOOT
允许重新启动系统
LEASE
允许修改文件锁的FL_LEASE标志
WAKE_ALARM
触发将唤醒系统的功能,如设置 CLOCK_REALTIME_ALARM 和 CLOCK_BOOTTIME_ALARM 定时器
BLOCK_SUSPEND
可以阻塞系统挂起的特性
使用指导 iSulad使用--privileged给容器添加特权模式,在非必要情况下,不要给容器添加特权,遵循最小特权原则,减少存在的安全风险。
bash isula run --rm -it --privileged busybox