alpine linux中如何将一个用户添加到多个组

DDS*_*low 4 docker alpine-linux

我正在使用 alpine 作为基础映像创建一个 docker 容器,并使用以下命令创建了一个用户: RUN adduser -u 5532 -s /bin/tcsh -D userA 并且我已经将几个组定义为

RUN addgroup --gid 2076 groupA && \
    addgroup --gid 2077 groupB && \
    addgroup --gid 400 groupC
Run Code Online (Sandbox Code Playgroud)

我无法使用adduser命令将创建的用户分配给多个组。如果我有多个adduser命令/指令,我会收到错误user userA is in use。请让我知道如何将特定用户分配到 alpine linux 中的多个组。

完全的Dockerfile

FROM python:alpine3.16
RUN adduser -u 5532 -s /bin/tcsh -D userA
RUN addgroup --gid 2076 groupA && \
    addgroup --gid 2077 groupB && \
    addgroup --gid 400 groupC
Run Code Online (Sandbox Code Playgroud)

sba*_*sba 12

addgroup命令可用于通过将用户作为第一个参数传递来将用户添加到组中:

FROM python:alpine3.16
RUN adduser -D userA
RUN addgroup groupA && addgroup userA groupA
RUN addgroup groupB && addgroup userA groupB
USER userA
Run Code Online (Sandbox Code Playgroud)

因此,首先创建一个组,addgroup <GROUP>然后将用户添加到该组中addgroup <USER> <GROUP>

  • 好吧,基础镜像没有 `usermod`。当“addgroup”完成这项工作时,为什么要添加额外的包? (4认同)
  • @sleepyhead Alpine 没有 `usermod` 命令。 (2认同)