当前位置: 首页 > news >正文

capsh 命令详解

capsh 是 Linux 中用于管理 capabilities(能力) 的工具,它允许精细控制进程权限,替代传统的全权 root 模式。


📌 核心概念:Capabilities

Linux 将 root 权限拆分为多个独立的能力(如 CAP_NET_ADMINCAP_DAC_OVERRIDE),进程可按需拥有特定能力,而非全部 root 权限,提升安全性。


🔍 常用参数

参数说明
--print显示当前 capabilities 状态
--decode=<N>解码数值形式的 capability(如 --decode=3 显示 cap_net_admin,cap_net_raw
--caps=<cap_set>设置 capabilities(格式:cap_name+[eip],e=Effective, i=Inheritable, p=Permitted)
--drop=<cap_list>移除指定 capabilities(逗号分隔,如 --drop=cap_chown,cap_kill
--keep=1保持当前 capabilities 并切换用户/组(通常与 --user 配合使用)
--user=<user>切换到指定用户(需配合 --keep
--inh=<cap_list>设置 Inheritable 集合
--secbits=<bits>设置安全位(如 none 禁用所有特性)
-- -c "command"执行指定命令(-- 后为命令参数)

🛠️ 使用示例

1. 查看当前 capabilities

sudo capsh --print
# 输出示例:
# Current: cap_net_admin=eip cap_net_raw=ep
# Securebits: 00/0x0/0

2. 启动进程并赋予特定能力

# 赋予 cap_net_bind_service 能力,允许绑定低端口
sudo capsh --caps='cap_net_bind_service+eip' -- -c "nginx"

3. 降权运行命令(保留能力并切换用户)

# 保留 cap_net_bind_service 并切换为 nobody 用户
sudo capsh --caps='cap_net_bind_service+eip' --keep=1 --user=nobody -- -c "id"

4. 移除指定能力

# 移除 cap_chown 和 cap_sys_admin 能力
sudo capsh --drop=cap_chown,cap_sys_admin -- -c "your_command"

5. 安全位操作(禁用 SUID)

sudo capsh --secbits=none -- -c "./suid_program"

⚠️ 注意事项

修改 capabilities 通常需要 root 权限。
确保仅授予必要能力,避免安全风险。
–keep=1 用于在切换用户时保留 capabilities,否则会被重置。

http://www.dtcms.com/a/341017.html

相关文章:

  • 【机器学习深度学习】Ollama、vLLM、LMDeploy对比:选择适合你的 LLM 推理框架
  • Objective-C 版本的 LiveEventBus 效果
  • vue+openlayers示例:适配arcgis矢量瓦片服务以及样式(附源码下载)
  • 英伟达Blackwell架构下的中国特供版AI芯片:B30A与RTX 6000D,是技术妥协还是市场新策略?
  • 基于单片机太阳能充电器/太阳能转换电能
  • C端高并发项目都有哪些
  • Angular由一个bug说起之十八:伴随框架升级而升级ESLint遇到的问题与思考
  • C++围绕音视频相关的资料都有哪些?如何进行学习
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码2
  • 【ansible】4.实施任务控制
  • 【沉浸式解决问题】peewee.ImproperlyConfigured: MySQL driver not installed!
  • 亚马逊运营破局:销量与ACOS的动态平衡之道
  • 网页作品惊艳亮相!这个浪浪山小妖怪网站太治愈了!
  • 8 月中 汇报下近半个月都在做些什么
  • VR交通安全学习机-VR交通普法体验馆方案
  • Vue3源码reactivity响应式篇之数组代理的方法
  • Android studio gradle 下载不下来
  • 23种设计模式——模板方法模式(Template Method Pattern)详解
  • 在 Ubuntu Linux LTS 上安装 SimpleScreenRecorder 以录制屏幕
  • 软考中级习题与解答——第一章_数据结构与算法基础(1)
  • 软考网工选择题节选-2
  • uniapp:h5链接拉起支付宝支付
  • uni-app跨端开发最后一公里:详解应用上架各大应用商店全流程
  • 从协同设计到绿色制造:工业云渲染的价值闭环
  • uniapp 手写签名组件开发全攻略
  • 三极管单电源供电中电阻关系的理解
  • Oracle:创建触发器,当目标表相关字段有数据变动时,存入临时表
  • 开发避坑指南(29):微信昵称特殊字符存储异常修复方案
  • 0基础安卓逆向原理与实践:第5章:APK结构分析与解包
  • pinctrl和gpio子系统实验