NAME

Podman-unshare-在修改后的用户命名空间内运行命令

SYNOPSIS

podman unshare [options] [command]

DESCRIPTION

启动进程(默认情况下, $SHELL )在新的用户命名空间中。配置用户命名空间,以使调用用户的UID和主GID分别显示为UID 0和GID 0。与中的用户和组匹配的任何范围 /etc/subuid/etc/subgid 的帮助下也映射为自身。 Newuidmap(1)Newgidmap(1) 帮手。

Podman取消共享 对于排除无特权操作的故障以及手动清除与图像和容器相关的存储和其他数据非常有用。

它还有助于使用 podman mount 指挥部。如果非特权用户想要挂载和使用容器,那么他们需要执行 podman unshare 。执行 podman mount 对于非特权用户失败,除非该用户在 podman unshare 会议。

取消共享会话定义了两个环境变量:

  • CONTAINERS_GRAPHROOT :持久容器数据的路径。

  • CONTAINERS_RUNROOT :易失性容器数据的路径。

重要提示:此命令不适用于远程Podman客户端。

OPTIONS

--help-h

打印用法报表

--rootless-netns

加入用于netavark联网的无根网络命名空间。它可用于通过IP地址(网桥联网)连接到无根容器。否则,这在主机网络命名空间中是不可能的。

退出代码

的退出代码 podman unshare 提供有关容器无法运行或退出的原因的信息。什么时候 podman unshare 命令以非零代码退出,则退出代码跟在 chroot 标准,见下文:

125 错误出在podman自身

$ podman unshare --foo; echo $?
Error: unknown flag: --foo
125

126 正在执行包含的命令(C) command 以及 command 无法调用

$ podman unshare /etc; echo $?
Error: fork/exec /etc: permission denied
126

127 正在执行包含的命令(C) command 以及 command 找不到

$ podman unshare foo; echo $?
Error: fork/exec /usr/bin/bogus: no such file or directory
127

退出代码 contained command 退出代码

$ podman unshare /bin/sh -c 'exit 3'; echo $?
3

EXAMPLE

在无根用户命名空间中执行指定命令:

$ podman unshare id
uid=0(root) gid=0(root) groups=0(root),65534(nobody)

显示无根容器的用户命名空间映射:

$ podman unshare cat /proc/self/uid_map /proc/self/gid_map
         0       1000          1
         1      10000      65536
         0       1000          1
         1      10000      65536

在无根容器的用户命名空间中显示无根网络信息:

$ podman unshare --rootless-netns ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: tap0: <BROADCAST,UP,LOWER_UP> mtu 65520 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether aa:8c:0b:73:98:f6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.100/24 brd 10.0.2.255 scope global tap0
       valid_lft forever preferred_lft forever
    inet6 fd00::a88c:bff:fe73:98f6/64 scope global dynamic mngtmpaddr
       valid_lft 86389sec preferred_lft 14389sec
    inet6 fe80::a88c:bff:fe73:98f6/64 scope link
       valid_lft forever preferred_lft forever

另请参阅

[podman(1)] , [podman-mount(1)] , 命名空间(7)Newuidmap(1)Newgidmap(1)user_namespaces(7)