Container Idmap
容器里的 uid 和 gid 可能会和主机的相冲突,所以有了 subuid/subgid 的 id 映射方案来解决。
例如我们可以指定容器里的 uid 为 1000 的用户和主机 uid 为 1000 是一致的,而 uid 1000 到 1100 则在主机上看 uid 是 11000 到 11100。
功能是由 shadow 包提供的。
# Gentoo
emerge -v sys-apps/shadow
# Debian
apt install uidmap
# Arch
pacman -S shadow
可以编辑 /etc/subuid
和 /etc/subgid
来实现映射,也可以使用命令行来指定用户 username
的子 id 范围:
usermod --add-subuids $uid_begin-$uid_end $username
usermod --add-subgids $gid_begin_$gid_end $username