问题标签 [capsh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2181 浏览

linux - 使用 capsh 删除所有功能

我正在尝试使用 capsh 来授予自己一个对某个用户完全没有能力的 shell。这样我就可以测试与非 root 相关但仅具有某些功能的安全性内容。

基本上我想让一个shell运行类似的东西。这将模拟测试程序运行的状态。

然后我希望能够再次运行 capsh 以授予用户一些功能和/或更改 uid/gid(如果可能的话)。

如果有人有很好的参考,我还没有找到关于 capsh 的任何好的教程。

http://man7.org/linux/man-pages//man1/capsh.1.html

0 投票
0 回答
55 浏览

python - 使用 Python 以人类可读的形式获取 CentOS 服务器功能

我正在尝试分析与我的 CentOS 服务器相关的功能。我有ps aufxwwwZ命令的输出和每个进程的内容/proc/$pid/status。这是我要分析的服务器配置转储的一部分。

我知道我可以从/proc/$pid/status(以 ^Cap 开头的行)获得能力。我可以capsh --decode用来获得人类可读的表格。但是,我想在 python 中专门实现它作为更大脚本的一部分。

如何将功能掩码转换为人类可读的功能列表,而不必强制用户安装特定工具和启动subprocess东西?

我试图了解如何通过阅读linux/capability.h来完成解析。有趣的部分:

因此,对于cap_net_admin在此头文件中定义的for ,12我使用CAP_TO_MASK((12) & 31)给出 4096 :

但是,这不是我观察到的这种特定功能,/proc/pid/status其中 is 1000

有没有更直接的转换过程?