在没有 sudo 的情况下运行特权 podman(并且没有用户名空间)

Tri*_*yen 5 containers rhel7 podman

我在 RHEL 7.6 上安装了 podman 并且可以使用 sudo 运行正常的 docker 命令

sudo podman run hello-world
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用 sudo 的情况下运行它,而不使用用户名空间(类似于docker使用常规docker命令时将用户添加到组中)?

我知道当以非 root 用户身份运行时,podman 使用用户名空间。但我无法在机器上启用/设置 suid(LDAP 等)

目前,当以非 root 用户身份运行时,我得到了这个

user namespaces are not enabled in /proc/sys/user/max_user_namespaces
ERRO[0000] cannot re-exec process
Run Code Online (Sandbox Code Playgroud)

小智 9

如果您正在运行 Podman 并且您不是 root 用户并且您没有使用 sudo,即“rootless”,那么您或您的管理员必须在系统上启用用户命名空间才能使其完全工作。只有极少数命令(例如“podman version”)可以在没有设置用户命名空间的无根环境中工作。

您看到的错误必须由具有管理权限的人使用类似的命令来处理,该命令sysctl user.max_user_namespaces=15000将在系统上启用 15,000 个用户名空间。此外,需要在系统上安装 shadows-utils 包,并且 /etc/subuid 和 /etc/subgid 文件必须具有如下条目:

用户名:1​​00000:65536

每个用户都希望为他们启用用户名空间。