linux capalibities
2024-10-07 07:19:03
linux进程能力管理
安装能力查看工具集
yum install libcap-ng-utils
主要包含以下工具
[root@thatsit ~]# rpm -ql libcap-ng-utils|grep bin
/usr/bin/captest
/usr/bin/filecap
/usr/bin/netcap
/usr/bin/pscap
[root@thatsit ~]#
工具使用
查看某个进程的capabilities
[root@thatsit ~]# pscap |grep 36010
35660 36010 root java chown, dac_override, fowner, fsetid, kill, setgid, setuid, setpcap, net_bind_service, net_raw, sys_chroot, mknod, audit_write, setfcap
[root@thatsit ~]#
相关链接
文章摘抄
调整能力
在前面的文章中,我介绍了基于Linux功能的容器分离。
借助Linux功能,你可以分离根用户权限,形成更小的特权群。目前,在默认情况下,Docker容器只拥有以下功能。
CHOWN, DAC_OVERRIDE, FSETID, FOWNER, MKNOD, NET_RAW,
SETGID, SETUID, SETFCAP, SETPCAP, NET_BIND_SERVICE,
SYS_CHROOT, KILL, AUDIT_WRITE
在某些情况下,你可能要调整此列表,例如,如果你正在构建一个运行ntpd或crony的容器,那么需要能够修改主机的系统时间。由于需要CAP_SYS_TIME,该容器将无法运行。在Docker的旧版本中,容器必须在--privileged模式下运行,该模式关闭了所有的安全策略。
在Docker1.3版本中添加了
--cap-add
和--cap-drop
。现在为了运行ntpd容器,你可以只需运行:docker run -d --cap-add SYS_TIME ntpd
其中只将SYS_TIME功能添加到了你的容器中。
另如,如果你的容器没有更改UID/GID的任何进程,你可以从容器中删除这些功能,使其更加安全。
docker run --cap-drop SETUID --cap-drop SETGID --cap-drop FOWNER fedora /bin/sh
# pscap | grep 2912
5417 2912 root sh chown, dac_override, fsetid, kill, setpcap, net_bind_service, net_raw, sys_chroot, mknod, audit_write, setfcap
或者你可以删除所有的功能后,再进行一一添加。
docker run --cap-drop ALL --cap-add SYS_TIME ntpd /bin/sh
# pscap | grep 2382
5417 2382 root sh sys_time
最新文章
- iPad 控件UIPopoverController使用
- Hadoop_HDFS文件读写代码流程解析和副本存放机制
- 《C++代码设计与重用》 书评
- JavaScript 实现鼠标拖动元素
- USB Type-C,接口上的大统一?
- 利用多线程资源竞争技术上传shell
- [Cocos2d-x]Mac下运行HelloCpp For Android
- Nginx+Php-fpm+MySQL+Redis源码编译安装指南
- Windows 路径问题
- Java IO在实际开发中的应用
- hashCode花式卖萌
- 解读Scrum燃尽图
- springboot项目利用devtools实现热部署,改动代码自动生效
- C++ 函数模板的返回类型如何确定?
- mssql卸载后重新安装 错误解决
- 5213 Exp3 免杀原理与实践
- echarts文档对照
- 自定义tarBar
- 2、rbac组件 后台布局模板,权限按钮,菜单,可拔插,路径重定向
- EOJ Monthly 2019.2 (based on February Selection) F.方差