Linux Capabilities
核心概念
# 查看容器 capabilities
docker run --rm alpine cat /proc/1/status | grep Cap
# 删除所有 capabilities
docker run --cap-drop ALL nginx
# 添加特定 capability
docker run --cap-drop ALL --cap-add NET_BIND_SERVICE nginx
常用 Capabilities
| Capability | 说明 |
|---|---|
NET_BIND_SERVICE | 绑定 1024 以下端口 |
SYS_PTRACE | 调试进程 |
NET_RAW | 使用原始套接字 |
最佳实践
services:
app:
cap_drop:
- ALL
cap_add:
- NET_BIND_SERVICE
小结
| 参数 | 说明 |
|---|---|
--cap-drop ALL | 删除所有 |
--cap-add | 添加特定 |
| 最小权限 | 只给需要的 |