为了将自身与新的网络、IPC、时间或 UTS 命名空间重新关联,调用者必须
CAP_SYS_ADMIN
在其自己的用户命名空间和拥有目标命名空间的用户命名空间中都具有该功能。
但这对我来说没有意义。如果我运行这个命令不需要 root,我可以获得一个新的 UTS 命名空间,并将主机名设置为foo
(通过--hostname
)。
$ podman run --hostname foo -ti alpine:3 /bin/sh -c 'hostname ; readlink /proc/$$/ns/uts'
foo
uts:[4026532995]
该容器应该运行hostname ; readlink /proc/$$/ns/uts
,然后立即完成(容器状态已退出)。
您可以使用重新连接(无需root)podman start --latest --attach
,
$ podman start --latest --attach
foo
uts:[4026532995]
调用者似乎没有CAP_SYS_ADMIN
“自己的用户命名空间”,但它可以附加:我认为调用者是不具有该功能的外壳。