Skip to content

在 Kubernetes 中容器内的 root 用户是宿主机的 root 用户吗?

默认情况下是的。在不使用 user namespace 的情况下,对于以 root 用户运行的容器而言,发生容器逃逸(如 CVE-2024-21626)时,容器将拥有在宿主机上的 root 特权。可以通过设置 hostUsers: false 来为 Pod 启用 user namespace。

yaml
apiVersion: v1
kind: Pod
metadata:
  name: userns
spec:
  hostUsers: false
  containers:
  - name: shell
    command: ["sleep", "infinity"]
    image: debian

参考资料: