【问题标题】:allowPrivilegeEscalation=true and RequiredDropCapabilities=SETUID in Kubernetes/OpenShiftKubernetes/OpenShift 中的 allowPrivilegeEscalation=true 和 RequiredDropCapabilities=SETUID
【发布时间】:2020-02-01 04:39:36
【问题描述】:

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

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

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

这是我在allowPrivilegeEscalation=true 上看到的内容:

这默认为允许,以免破坏 setuid 二进制文件

对于SETUID:

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

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

谁能给我解释一下?

【问题讨论】:

    标签: kubernetes openshift okd


    【解决方案1】:

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

    【讨论】:

    • 谢谢。因此,即使我无法在 root 下运行进程(已放弃功能),我仍然可以通过运行 root 拥有并设置了 setuid 的可执行文件(即 allowPrivilegeEscalation)来承担 root 的权限?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2023-04-04
    • 1970-01-01
    • 2019-05-31
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多