• linux capalibities


    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 ~]#
    

    相关链接

    http://dockone.io/article/243

    文章摘抄

    调整能力

    在前面的文章中,我介绍了基于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
    
  • 相关阅读:
    SSH入门常用命令
    Charles基础
    经典测试用例
    Fiddler基础教程
    增、删、改、查
    一位软件测试工程师浅谈用户体验
    用户体验测试点
    IIS测试环境搭建
    禅道Bug管理工具环境搭建
    LineageOS源码定制手机系统
  • 原文地址:https://www.cnblogs.com/thatsit/p/linux-capalibities.html
Copyright © 2020-2023  润新知