【问题标题】:Run python as root using cap_sys_admin capability linux使用 cap_sys_admin 能力 linux 以 root 身份运行 python
【发布时间】:2021-05-08 20:57:44
【问题描述】:

我有以下python2.7的能力(使用getcap):

/usr/bin/python2.7 = cap_sys_admin+ep

我知道CAP_SYS_ADMIN 是“CAP_SYS_ADMIN 是一个高度特权的访问级别,通常应该避免,因为它等同于 root 访问级别。” (https://docs.bridgecrew.io/docs/bc_k8s_36)

这意味着我可以使用 /usr/bin/python2.7 以 root 身份运行?

那么我实际上如何使用/usr/bin/python2.7 获得示例 root bash?

【问题讨论】:

    标签: python linux privileges


    【解决方案1】:

    /usr/bin/python 上设置cap_sys_admin 意味着python 将能够进行任何“根”系统调用。这意味着任何运行 python 的人都有能力做通常只有 root 才能做的事情。如果有人(恶意或意外)试图做一些危险的事情,他们不会被阻止。像下面这样简单的事情可能是灾难性的:

    import shutil
    shutil.rmtree('/') 
    

    在大多数情况下,如果您需要以提升的权限运行脚本,最好使用具有这些权限的用户帐户,使用susudo,而不是让命令始终不受限制地运行。这样你就可以专注于“谁”被允许做事而不是“做什么”。

    【讨论】:

    • hmm 如果我尝试像 read '/etc/shadow' using with open('/etc/shadow') as f: content = f.readlines() 我得到异常 IOError: [Errno 13 ] 权限被拒绝:'/etc/shadow' 那么我可以以 root 身份运行什么?
    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 2015-12-02
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    相关资源
    最近更新 更多