传统 Unix 权限模型将进程分为 root 与普通用户,违反最小权限原则。Linux Capabilities 将 root 特权拆分为数十种独立能力。
一、常用 Capabilities
CAP_NET_BIND_SERVICE:绑定 1024 以下端口CAP_NET_ADMIN:网络配置管理CAP_SYS_ADMIN:系统管理(权限极大,应谨慎授予)CAP_DAC_READ_SEARCH:绕过文件读权限检查
二、为二进制授予能力
bash
# 允许 nginx 绑定 80 端口而无需 root
setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx
# 查看已授予的能力
getcap /usr/sbin/nginx在容器中可通过 --cap-drop=ALL --cap-add=NET_BIND_SERVICE 精确控制容器进程权限,显著降低逃逸风险。