capsh
查看/调整进程 capability 的 shell 包装器
补充说明
capsh 可以打印当前 capability 集、丢弃/设置 capability、切换 UID/GID 后执行命令,适合调试权限和最小权限运行。
常用示例
capsh --print
capsh --drop=cap_net_raw -- -c 'ping -c1 127.0.0.1'
capsh --caps='cap_net_bind_service+ep' -- -c '...'
易错点与排错
- capability 有 permitted/effective/inheritable/bounding 多套;
--print 要看清。
- 丢弃 bounding set 后不可恢复;不要在长期 shell 里随意
--drop。
- root 仍有隐式权限;测试最小权限时同时切 UID。
- 文件 capability 与进程 capability 不同;部署用
setcap。
- 容器默认 capability 集受限;先看容器 runtime 配置。
capsh 只影响当前进程及其子进程,不会持久化。