代码之家  ›  专栏  ›  技术社区  ›  Jeff Saremi

Kubernetes/OpenShift中的allowPrivilegeEscalation=true和RequiredDropCapabilities=SETUID

  •  0
  • Jeff Saremi  · 技术社区  · 6 年前

    我在这里读过这些描述: https://kubernetes.io/docs/concepts/policy/pod-security-policy/#privilege-escalation

    我仍然很困惑,这些设置是否相同但相反?比如在OpenShift的 restricted 我们有 SETUID 作为 RequiredDropCapabilities .同时,在同一SCC中,我们 allowPrivilegeEscalation 是的。

    一个不允许在其他用户下启动流程,但另一个允许吗?

    这就是我读到的 允许特权扩展 =正确:

    这默认为allowed,以便不破坏setuid二进制文件

    对于SETUID:

    setuid()设置调用进程的有效用户ID

    (来自 http://man7.org/linux/man-pages/man2/setuid.2.html )

    谁能给我解释一下吗?

    0 回复  |  直到 6 年前
        1
  •  0
  •   coderanger    6 年前

    setuid二进制文件是在其文件权限中具有4000位标志的文件。虽然我们通常只讨论使用三个八进制数字(744或600等)的Unix文件权限,但下一个位通常用于suid、sgid和sticky。suid可执行文件会自动设置uid()'d为文件所有者的ID。这就是像sudo这样的工具的工作原理,它需要提升权限,但由非特权用户运行。