揭秘Docker容器权限提升:cap_add到底有多危险?

第一章:揭秘Docker容器权限提升:cap_add到底有多危险?

在默认情况下,Docker容器运行于受限的Linux能力集(capabilities)环境中,以防止潜在的安全风险。然而,通过使用cap_add字段,开发者可以显式地为容器添加特定的内核能力,例如NET_ADMIN或SYS_MODULE,从而实现对网络配置、设备访问甚至内核模块加载的支持。这种灵活性的背后潜藏着严重的安全隐患。

cap_add 的典型滥用场景

  • NET_ADMIN:允许容器修改主机网络栈,可能用于绕过防火墙规则
  • SYS_MODULE:可加载内核模块,进而植入恶意驱动程序
  • SYS_PTRACE:启用进程追踪,可用于调试其他容器或逃逸到宿主机

实际攻击演示

以下是一个危险的docker-compose.yml片段,展示了不当使用cap_add的风险:
version: '3.8'
services:
  vulnerable-service:
    image: alpine:latest
    cap_add:
      - NET_ADMIN     # 允许管理网络接口
      - SYS_MODULE    # 危险:允许加载内核模块
    command: ["sh", "-c", "sleep 3600"]
上述配置使容器具备修改宿主机网络和加载内核模块的能力。攻击者一旦进入该容器,即可执行:
# 加载自定义内核模块(假设已编译)
insmod /malicious.ko

# 或创建新的网络命名空间并劫持流量
ip link add name pwn type bridge

安全建议对比表

实践方式风险等级建议
使用默认能力集低推荐生产环境采用
添加SYS_MODULE极高禁止使用,除非绝对必要且隔离充分
添加NET_ADMIN高应配合网络策略限制
最小权限原则是容器安全的核心。避免随意使用cap_add,始终评估每一项新增能力可能带来的攻击面扩展。

第二章:深入理解Linux能力机制与Docker集成

2.1 Linux capabilities基本概念与作用

Linux capabilities 是一种将超级用户权限细分为独立单元的机制,旨在降低特权程序的安全风险。传统上,进程要么拥有全部 root 权限,要么无权操作,而 capabilities 将 root 的高危操作拆解为多个能力标签。
核心能力示例
  • CAP_NET_BIND_SERVICE:允许绑定小于 1024 的端口
  • CAP_CHOWN:修改文件属主权限
  • CAP_SYS_ADMIN:广泛系统管理操作(需谨慎赋权)
查看进程capabilities
cat /proc/$PID/status | grep CapEff
该命令输出进程的有效 capabilities 位图。CapEff 表示当前生效的能力集合,以十六进制表示,每一位对应一项 capability。
权限分配实践
场景推荐能力
Web 服务器监听 80 端口CAP_NET_BIND_SERVICE
容器初始化进程CAP_SETUID, CAP_SETGID

2.2 Docker默认能力集分析与安全设计

Docker容器在默认情况下并非完全隔离,其进程拥有部分Linux内核能力(capabilities),可能带来安全隐患。理解这些默认能力是构建安全容器环境的基础。
默认启用的核心能力
Docker默认启用如CHOWN、DAC_OVERRIDE、FSETID等14项能力,允许容器修改文件权限、绕过读写检查等操作。可通过以下命令查看:
docker run --rm alpine capsh --print
该输出将展示容器进程的实际能力集,帮助识别潜在风险点。
常见危险能力示例
  • NET_ADMIN:可配置网络接口,存在网络劫持风险
  • SYS_MODULE:加载内核模块,可能导致内核级攻击
  • SETUID/SETGID:可提升用户权限,易被用于提权攻击
最小权限实践建议
通过--cap-drop和--cap-add精细化控制能力集:
docker run --cap-drop=ALL --cap-add=NET_BIND_SERVICE ...
此配置仅保留绑定特权端口所需能力,显著降低攻击面,体现最小权限原则。

2.3 cap_add如何突破容器权限边界

在默认情况下,Docker 容器以最小权限运行,内核能力(capabilities)被大幅削减,以保障宿主机安全。然而,某些应用需要执行特定特权操作,此时可通过 `cap_add` 手段显式提升容器权限。
常用可添加的能力项
  • NET_ADMIN:允许配置网络接口,如创建隧道或设置 iptables
  • SYS_MODULE:加载和卸载内核模块,风险极高
  • CHOWN:修改文件所有权,虽基础但需谨慎使用
配置示例与分析
version: '3.8'
services:
  app:
    image: alpine
    cap_add:
      - NET_ADMIN
      - SYS_TIME
上述配置使容器可修改系统时间(SYS_TIME)并管理网络(NET_ADMIN)。虽然提升了功能性,但也扩大了攻击面——一旦容器被攻破,攻击者可利用这些能力进行横向渗透或时间篡改以绕过日志审计。
安全建议
应遵循最小权限原则,避免使用 privileged: true,转而精确控制所需能力,结合 Seccomp、AppArmor 等机制形成纵深防御。

2.4 常见被滥用的capability类型实战解析

在容器化环境中,Linux capabilities 的细粒度权限控制常被误用,导致安全边界削弱。其中,CAP_SYS_ADMIN 是最典型被过度授予的能力。
高危 capability 类型分析
  • CAP_SYS_ADMIN:几乎等同于 root 权限,可挂载文件系统、操作命名空间,不应在生产容器中启用;
  • CAP_NET_RAW:允许创建原始套接字,可能被用于端口扫描或伪造数据包;
  • CAP_DAC_OVERRIDE:绕过文件读写权限检查,存在敏感文件泄露风险。
安全配置示例
securityContext:
  capabilities:
    drop: ["ALL"]
    add: ["NET_BIND_SERVICE"]
上述 Kubernetes 配置通过丢弃所有 capability 并仅添加必要项(如绑定低端口),实现最小权限原则。参数说明:drop: ["ALL"] 默认禁用全部能力,add 显式启用所需能力,有效缓解横向提权攻击面。

2.5 使用strace和auditd追踪能力调用行为

在Linux系统中,进程获取和使用特权往往依赖于能力(capabilities)机制。为了审计这些敏感操作,可借助`strace`和`auditd`工具对系统调用层面进行深度监控。
使用strace跟踪能力相关系统调用
strace -e capget,capset,setresuid,setresgid -p $(pidof myapp)
该命令监控指定进程对能力获取(capget)、设置(capset)以及用户/组ID变更的调用。通过分析输出,可识别程序何时启用CAP_NET_BIND_SERVICE等特权能力。
利用auditd实现持久化审计
将以下规则写入/etc/audit/rules.d/capabilities.rules:
-a always,exit -F arch=b64 -S capset -k cap_change
-a always,exit -F arch=b64 -S execve -F exe=/bin/su -k su_execution
这会记录所有能力修改行为,并标记为关键字“cap_change”,便于后续通过ausearch -k cap_change检索。
  • strace适用于临时调试,开销较小但不具备持久审计能力
  • auditd运行在内核层,提供完整日志追溯,适合安全合规场景

第三章:cap_add带来的真实安全风险

3.1 利用CAP_SYS_MODULE实现内核模块注入

在Linux系统中,CAP_SYS_MODULE能力允许进程执行内核模块的加载与卸载操作。拥有此权限的进程可通过init_module()和delete_module()系统调用实现模块注入,常被用于合法驱动管理,但也可能被恶意利用。
关键系统调用
long init_module(void *umod, unsigned long len, const char *uargs);
long delete_module(const char *name, unsigned int flags);
上述函数分别用于加载和卸载内核模块。init_module将模块二进制数据(umod)注入内核空间,长度为len,参数由uargs传递。若进程具备CAP_SYS_MODULE,即可绕过普通权限检查。
权限检测流程
步骤操作
1进程尝试调用init_module()
2内核检查当前进程是否具有CAP_SYS_MODULE
3若权限满足,则允许模块加载

3.2 通过CAP_DAC_OVERRIDE绕过文件权限控制

Linux能力机制允许进程以细粒度方式获得特权操作权限。其中,CAP_DAC_OVERRIDE 是一种关键能力,可绕过对文件读写执行的DAC(自主访问控制)检查。
能力的作用机制
即使文件权限为 000,拥有该能力的进程仍可访问:
#include <sys/capability.h>
cap_t caps = cap_get_proc();
cap_value_t cap_list[] = { CAP_DAC_OVERRIDE };
cap_set_flag(caps, CAP_EFFECTIVE, 1, cap_list, CAP_SET);
cap_set_proc(caps);
上述代码将当前进程的有效能力集设置为包含 CAP_DAC_OVERRIDE,从而获得绕过文件权限检查的权限。
典型应用场景
  • 系统服务以非root用户运行但需访问受限配置文件
  • 容器运行时赋予特定进程有限特权而非完全root权限
该能力虽提升灵活性,但也可能被恶意提权利用,需谨慎配置。

3.3 CAP_NET_RAW与容器内网络攻击演练

CAP_NET_RAW能力简介
在Linux容器中,CAP_NET_RAW允许进程创建原始套接字(raw socket),进而构造自定义IP数据包。这一能力常被用于ping工具,但也可能被滥用发起网络扫描或伪造流量。
攻击场景模拟
启用该能力的容器可执行ICMP扫描探测宿主机网络环境:
nmap -sn 10.0.0.0/24 --script broadcast-ping
上述命令利用原始套接字发送ICMP请求,识别局域网活跃主机,体现横向移动风险。
权限控制建议
为降低风险,应在Pod Security Policy或Docker运行参数中显式禁用该能力:
  • 使用--cap-drop=NET_RAW启动容器
  • Kubernetes中配置securityContext:
securityContext:
  capabilities:
    drop: ["NET_RAW"]
该配置有效限制容器构造恶意网络报文的能力,增强集群安全性。

第四章:构建安全的容器权限管理体系

4.1 最小权限原则下的能力裁剪实践

在容器化环境中,遵循最小权限原则是提升系统安全性的核心策略。通过对运行时能力进行精细化裁剪,仅保留进程必需的Linux capabilities,可显著减少攻击面。
能力裁剪配置示例
securityContext:
  capabilities:
    drop:
      - ALL
    add:
      - NET_BIND_SERVICE
上述Kubernetes Pod配置中,通过 drop: [ALL] 移除所有默认能力,并仅显式添加 NET_BIND_SERVICE,允许容器绑定低端口(如80/443),满足服务暴露需求的同时杜绝特权滥用。
常见能力对照表
Capability用途说明是否建议保留
CHOWN修改文件属主否
NET_BIND_SERVICE绑定低于1024的端口按需
KILL向其他进程发送信号是

4.2 使用seccomp-bpf限制系统调用增强隔离

为了提升容器或沙箱环境的安全性,seccomp-bpf 提供了一种高效的系统调用过滤机制。通过定义过滤规则,仅允许必要的系统调用执行,其余将被拒绝或捕获。
工作原理
seccomp-bpf 利用 Berkeley Packet Filter(BPF)机制,在内核层面对系统调用号和参数进行匹配与过滤。当进程尝试执行被禁止的系统调用时,内核将根据策略终止进程或返回错误。
配置示例
scmp_filter_ctx ctx = seccomp_init(SCMP_ACT_KILL);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit_group), 0);
seccomp_load(ctx);
上述代码初始化一个默认行为为“杀死进程”的 seccomp 上下文,并仅允许 read、write 和 exit_group 系统调用。其他所有调用将触发默认动作,从而大幅缩小攻击面。
典型应用场景
  • 容器运行时(如 Docker、gVisor)中限制不可信进程
  • 浏览器沙箱保护渲染进程
  • 特权服务降权后加强调用控制

4.3 AppArmor与SELinux协同控制容器行为

在容器安全体系中,AppArmor与SELinux通过不同维度实现对容器行为的精细化管控。AppArmor基于路径的访问控制策略易于编写,适合限制文件系统操作;而SELinux采用类型强制机制,提供更细粒度的域隔离。
策略协同工作模式
当两者共存时,容器必须同时满足AppArmor和SELinux的访问规则,任一策略拒绝都将导致操作失败,从而形成双重防护。
典型配置示例
# 启用AppArmor策略并指定SELinux上下文运行容器
docker run --security-opt apparmor=custom-profile \
           --security-opt label=type:container_t \
           ubuntu:20.04 sleep 1000
上述命令中,apparmor=custom-profile指定加载自定义AppArmor策略,label=type:container_t声明容器进程运行在SELinux的container_t域中,确保多层访问控制生效。

4.4 审计与监控容器能力使用的最佳方案

在容器化环境中,审计和监控容器对系统能力(Capabilities)的使用是保障安全的关键环节。通过精细化跟踪容器提权行为,可有效识别潜在的权限滥用。
启用 Kubernetes 审计日志
配置 API Server 启用审计策略,记录所有涉及能力变更的操作:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
  - level: Metadata
    resources:
      - group: ""
        resources: ["pods"]
    verbs: ["create", "update"]
    annotations:
      capability.added: "{@request.object.spec.containers[*].securityContext.capabilities.add}"
该策略捕获 Pod 创建时添加的能力项,便于后续分析异常提权行为。
集成 Prometheus 监控运行时指标
通过 Node Exporter 和 cAdvisor 暴露容器能力使用情况,构建如下告警规则:
  • 监控 CAP_SYS_ADMIN 等高危能力的启用频率
  • 按命名空间统计能力使用热力图
  • 结合 Grafana 实现可视化追踪

第五章:未来趋势与容器运行时安全演进

随着云原生生态的持续演进,容器运行时安全正从被动防御转向主动防护。零信任架构在容器环境中的落地加速了运行时行为监控与策略执行的融合。
不可变基础设施与镜像签名
采用不可变基础设施可有效减少运行时攻击面。结合 Cosign 等工具对容器镜像进行签名与验证,确保仅可信镜像可被调度:
# 使用 Cosign 对镜像签名
cosign sign --key cosign.key your-registry/image:tag

# 验证节点上运行的镜像签名
cosign verify --key cosign.pub your-registry/image:tag
基于 eBPF 的实时行为监控
eBPF 技术使安全团队能够在内核层捕获容器进程行为,无需修改应用代码。例如,使用 Tracee 检测异常系统调用:
  • 监控 execve 调用以识别可疑二进制执行
  • 检测容器内开启监听端口的隐蔽后门
  • 关联网络与文件系统事件构建完整攻击链
机密管理集成运行时
传统环境变量传递机密的方式存在泄露风险。现代方案将机密注入与容器运行时深度集成:
方案集成方式适用场景
Hashicorp Vault + CSI Driver挂载为卷Kubernetes 生产集群
AWS Nitro Enclaves硬件隔离高敏感数据处理
流程图:安全容器启动流程
用户提交 Pod → 准入控制器验证策略 → 镜像签名检查 → 运行时类选择(gVisor/Kata)→ 注入机密 → 启动受监控容器
CTF-Web习题:2019强网杯 UPLOAD 本题涉及知识点:代码审计、文件上传漏洞、反序列化漏洞 阅读详情

相关推荐

覆冰监测系统服务器,基于分布式光纤振动传感的电缆覆冰舞动监测系统

监测意义我国高压输电网络已经形成了全国联网的格局,总规模世界第一。2018年底,全国发电装机容量已达19.0亿千瓦,全国 220kV及以上输电线路回路长度超过71万公里。我国电力能源集中在西北,而用户则集中在华东华南,所以高压输电网络的特点是长距离,大跨度,途径的自然环境多种多样。在高湿高寒的恶劣环境中,输电线非常容易发生覆冰舞动事故,由于覆冰形成的规则的非圆断面的缆线在风的激励下形成谐振,造成低...

weixin_32566055的博客 1547

了解下常用分析JVM参数以及优化工具

jvm jstat使用

程序员路同学 1130

ODBC 连接数据库 SQL server 2008

1、打开【控制面板】-> 【系统和安全】 -> 【管理工具】-> 【数据源(ODBC)】  2、双击【数据源(ODBC)】-> 选中【系统DSN】 3、单击【添加】,会弹出如下对话框,选中【SQL server】->【完成】 4、弹出如下对话框,在【名称】中填入数据源名称 例如:我命名为: LocalServer,在【服务器】中填入计算机名或者IP地址,我连接

Christine的专栏 8516

查看docker中运行的JVM参数

方法一、jcmd命令: 1、jps获取java的线程id 2、jcmd pidVM.flags获取 51152: -XX:CICompilerCount=3 -XX:InitialHeapSize=526385152 -XX:MaxHeapSize=1073741824 -XX:MaxNewSize=357564416 -XX:MinHeapDeltaBytes=524288 -XX:NewSize=175112192 -XX:OldSize=351272960 -XX:+UseCompresse.

u011649691的博客 3776

Unity类银河战士恶魔城学习总结(P103之前 Enemy相关 , 骷髅战士,状态机,敌人状态,)

udemy的Alex银河战士恶魔城,记录我自己的学习,代码会逐渐每一p更新,仅供参考学习。

suzh1qian的博客 1631

PostgreSQL+PostGIS空间数据入库实战:从矢量栅格到GeoServer发布全流程

本文详细介绍了将矢量与栅格空间数据导入PostgreSQL并利用PostGIS扩展进行管理的完整流程。内容涵盖环境搭建、使用shp2pgsql和raster2pgsql工具进行数据入库、基础空间查询验证,以及最终通过GeoServer发布为地图服务的实战步骤,为构建空间数据平台提供清晰指引。

weixin_29268267的博客 289

使用docker run --cap-add参数解决权限问题(无法使用gdb调试、无法date -s修改时间)

问题 在docker容器中的centos无法使用gdb调试 ptrace: Operation not permitted 解决方法 参考:https://stackoverflow.com/questions/42029834/gdb-in-docker-container-returns-ptrace-operation-not-permitted 在docker run 命令中...

liuqiuyuewo的博客 2万+

qt实现程序密钥注册功能,MD5加密+AES加密,并实现一台电脑系统一个密钥

qt实现了一个给自己软件加密的功能。 原理是: 需要被注册的软件第一次运行的时候,在系统的注册表里面注册一个键值,如下: 这个值作为生成密钥的用户识别号,然后生成密钥文件key.db,把这个key.db文件放到软件执行目录下,即可完成软件的注册并正常使用软件。 软件第一次打开的界面及密钥生成工具软件界面如下: 将密钥生成工具软件生成的key.db放到软件执行目录下之后,软件即可正常使用,如下图: 代码使用了MD5加密 外加 AES加密, 解密和加密的核心代码如下: QSt.

weixin_43935474的博客 4128

Docker Compose使用详记-小白笔记

1 Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 Compose 使用的三个步骤: 使用 Dockerfile 定义应用程序的环境。 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。 最后,执行 docker-compose ...

码灵的博客 5570

SAP 批次管理(分割评估)

批次分割评估: 业务场景:企业要求各批次物料成本价格不一样。此时可以采用分割批次来实现不同成本 后台配置: (1)、激活分割评估 后台---物料管理----评估与科目设置---分割评估-----激活分割评估 (2)、配置分割评估 后台---物料管理----评估与科目设置---分割评估-----配置分割评估 进入全局性分类后,批次分割采用已有的评估类型“X自动(批)”: ...

willieyuan的博客 1万+

基于STM32设计的水下水质检测装置(微信小程序)(205)

本项目设计了一款基于STM32微控制器为核心的水下水质检测设备,该设备具有高度集成化、智能化的特点,能够实时监测水深、温度、浊度及溶解性总固体(TDS)等关键水质参数,并通过4G网络将数据上传至腾讯云IOT物联网平台,实现远程监控和数据分析。同时,为了便于操作和移动观测,还配套开发了微信小程序,用户可通过微信小程序实时查看并控制设备的各项功能,如调整下潜深度等。

1250

Docker快速入门——Docker-Compose

一、Docker-Compose简介 1、Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。 Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose...

hopelgl的博客 958

2026年数学建模国赛B题无线电干扰源的快速自动定位与清除 论文详细解析

数学建模竞赛论文无线电干扰源的快速自动定位与清除2026 年高教社杯全国大学生数学建模竞赛 B 题完整求解论文交会定位、极大极小测点优化、自适应多频道搜索与定向源恢复的统一建模模型、算法、代码、图表与验证一体化交付本文研究圆形目标区域中多个未知无线电干扰源的快速检测、定位与清除问题,建立了由误差楔交会模型、角度观测信息模型、分层勘测模型、鲁棒射线交会模型和定向覆盖反馈模型组成的统一求解框架。模型同时覆盖题目中的四个子问题:多测向射线形成的多边形定位区域及直径、第二个测点的极大极小优选、全向源自动搜索清除策略

YOLO 357

揭秘Docker容器权限漏洞:5个步骤实现非root安全运行

掌握Docker容器安全核心技巧,实现用户权限非root运行。通过创建专用用户、修改镜像配置等5个步骤,有效防范权限滥用风险,适用于生产环境部署。提升容器安全性,值得收藏。

CodeNexus的博客 1230

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

CrossPoint Reader Xteink X3/X4 刷机到阅读实操指南

CrossPoint Reader 是社区维护的开源电纸书固件,专为 Xteink X3/X4 等 ESP32C3 设备打造,把官方固件锁死的设备变成完全可折腾的阅读工具:界面、字体、按键、同步服务器,全部归你说了算。刷完 CrossPoint Reader 后,它能做的事包括: - 无线传书:网页上传、WebDAV、Calibre 插件,不插线换书 - 自定义字体:SD 卡加载中文字体,补齐内

gitblog_00473的博客 980

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

揭秘Docker镜像提权漏洞:如何通过非root用户与SUID/SGID控制提升容器安全性

提升Docker容器安全性,关键在于避免root权限滥用。本文深入解析Docker镜像的非root用户运行最佳实践(SUID/SGID处理),涵盖权限最小化、SUID/SGID清理与用户隔离等核心方法,适用于生产环境容器加固。有效防范提权攻击,保障应用运行安全,值得收藏。

LiteCode的博客 749

揭秘AI模型部署风险:如何通过Docker权限校验保障生产环境安全

掌握AI模型部署安全关键,详解AI模型的Docker权限校验方法,适用于生产环境中的容器化部署场景。通过最小权限原则与用户隔离策略,有效防范越权风险,保障系统稳定与数据安全,值得收藏。

FuncIsle的博客 420

运维实操——docker容器(七)安全

安全1、Docker容器的安全2、容器资源控制(1)memory(2)cpu(3)io3、安全加固(1)利用LXCFS增强docker容器隔离性和资源可见性(2)设置特权级运行的容器(3)设置容器白名单:–cap-add(4)其他安全加固的思路 1、Docker容器的安全 Docker容器的安全性,主要依赖于Linux系统自身,考虑Docker的安全性时,主要有: (1)Linux内核的命名空间机制提供的容器隔离安全 启动一个容器时,Docker将在后台为容器创建一个独立的命名空间,就是隔离,但是ns(na

qq_40764171的博客 2824

dockers --cap-add 哪些值可以设置

添加系统管理员权限,允许容器内的进程执行系统级别的管理操作,如挂载文件系统、设置时间、修改主机名等。:添加原始 I/O 权限,允许容器内的进程进行对设备的原始读写操作,绕过操作系统提供的文件系统抽象。参数时,需要谨慎评估每个权限的安全性和必要性,确保容器内的进程只能执行合适和可信的操作。这只是一些常见的权限值,实际上还有其他更多的权限可以使用。:添加模块加载/卸载权限,允许容器内的进程加载和卸载内核模块。:添加时间管理权限,允许容器内的进程修改系统时间。:添加系统追踪权限,允许容器内的进程使用。

不积跬步,无以至千里;不积小流,无以成江海。 2760

Docker Compose

compose前身是Fig,是一个用于定义及允许多个Docker容器的工具,主要是通过一个YAML文件进行服务配置使用Docker Compose不再需要使用Shell脚本来启动容器Docker Compose非常适合组合使用多个容器进行开发的场景使用Compose 基本上分为三步:定义应用的运行环境定义组成应用的各服务启动整个应用参考:https://blog.youkuaiyun.com/ver_mouth__/article/details/125878706Compose 是用于。

顺其自然~专栏 1045

【云原生 | 52】Docker三剑客之Docker Compose第三节

模板文件是使用Compose的核心,涉及的指令关键字也比较多。但大家不用担心,这里的大部分指令与docker run相关参数的含义都是类似的。

小鹏linux的博客 6万+

【Docker capability】docker capability 属性功能介绍(docker运行时权限、Linux系统功能)

出于容器之间和容器与宿主机的安全隔离保护,在默认的Docker配置下,Docker容器是没有系统权限的。这是因为在默认情况下,容器内的进程不允许访问任何宿主机上的设备。默认的seccomp配置文件将根据所选的功能进行调整,以允许使用功能所允许的功能,所以从Docker1.12之后的版本,不应该对此进行调整。时,将允许Docker容器访问宿主机上的所有设备,并在AppArmor或SELinux中设置一些配置,使容器内的进程可以与容器外运行的进程几乎一样权限来访问宿主机。如果想限制对特定设备的访问,可以使用。

叮当猫的喵i 2585

docker容器权限设置--cap-add | --cap-drop | privileged

1.privileged,权限全开,不利于宿主机安全2.cap-add/cap-drop,细粒度权限设置,需要什么开什么。

HCIE 数通、RHCE、HCIP 欧拉、MySQL OCP 持证工程师。 4793

Docker容器安全加固必修课:cap_add权限最小化配置指南

掌握Docker容器安全关键技巧,详解cap_add权限最小化配置方法,适用于微服务、CI/CD等场景。通过精准授权降低攻击面,提升运行时安全,避免过度提权风险。实用指南值得收藏。

PixelWander的博客 908

Snowflake-Arctic-Embed-M-Long模型架构详解:从NomicBert到均值池化的关键技术解析

Snowflake-Arctic-Embed-M-Long是Snowflake公司推出的先进文本嵌入模型,在MTEB/BEIR检索排行榜上取得了54.83的NDCG@10分数,展现了卓越的检索性能。这款基于NomicBert架构的嵌入模型专门针对长文本优化,支持8192个token的上下文长度,通过创新的均值池化技术生成高质量的768维文本嵌入向量。对于开发者来说,理解这个模型的架构设计和技术实现

gitblog_01177的博客 439
上一篇: 从乱标到高可用:重构你的Docker语义化标签体系
下一篇: 【Docker Compose服务依赖管理】:5个必须掌握的依赖控制技巧
LiteCode
博客等级 码龄1年 146粉丝 2019原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值