gpt4 book ai didi

linux - 无法在 docker Alpine 中添加具有高 UID 的用户

转载 作者:IT王子 更新时间:2023-10-29 00:56:46 24 4
gpt4 key购买 nike

我正在尝试在 Alpine Linux Docker 容器中创建一个具有 UID 1340816314 的新用户,以便拥有一个具有 UID 的用户> 匹配主机上的特定用户。

问题是我面临着 adduser: number 1340816314 is not in 0..256000 range 即使我在 /中重新定义了 UID_MAX 的值etc/login.defs 通过关注 adduser man page .顺便说一下,我认为它不会像 Alpine is from BusyBox 中的 adduser 命令那样产生任何影响。 .

这是我尝试做的日志:

$ docker run -it --rm alpine:3.4 sh
/ # adduser -D -g '' -u 1340816314 user
adduser: number 1340816314 is not in 0..256000 range
/ # echo "UID_MAX 1340816314" > /etc/login.defs
/ # adduser -D -g '' -u 1340816314 user
adduser: number 1340816314 is not in 0..256000 range
/ # echo "UID_MAX 1340816315" > /etc/login.defs
/ # adduser -D -g '' -u 1340816314 user
adduser: number 1340816314 is not in 0..256000 range

您知道如何在 Docker 容器内的 Alpine Linux 中添加具有较大 UID 的用户吗?

最佳答案

Alpine 中对于高 UID/GID 有更优雅的解决方案。

shadow contains useraddgroupadd 实用程序反过来支持更高的值。不确定这些实用程序的上限是多少,也不确定是否支持整个 2^32 空间,但我已经用超过 6 亿的值进行了测试并且它有效。

例如,实现此目的的命令如下所示:

UID=666000666
GID=999000999
apk add shadow
/usr/sbin/groupadd -g ${GID} my_group
/usr/sbin/useradd -s /bin/sh -g ${GID} -u ${UID} my_user

请注意,我将 shell 变量传递给 useradd,因为默认情况下它会尝试使用未安装的 /bin/bash

关于linux - 无法在 docker Alpine 中添加具有高 UID 的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41807026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com