愚蠢的问题,但仍然。由于某些原因,我想在我的高山Linux中重用GID 999和UID 999。不幸的是,此ID与高山Linux中的ping程序相关联。如何删除ping程序,以便重新使用999 GID?
这是我在做什么。
运行我的高山linux。
$ docker run --rm -it --name demo alpine ash
列出组文件中的最后3个组。
/ # tail -n3 /etc/group
ping:x:999:
nogroup:x:65533:
nobody:x:65534:
试图删除Ping程序。
/ # apk del iputils
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.40a3604f.tar.gz: No such file or directory
ERROR: No such package: iputils
我到达的解决方案比我想象的要简单。我刚刚从/etc/group
文件中删除了包含ID 999的行。之后,我可以重用此ID。我在下面使用了sed
程序,这是m解决方案。
正在从/etc/group/
文件中删除感兴趣的线。
/ # sed -i.bak '/999/d;' /etc/group
创建具有GID 999的名为exec的组,并将具有UID 999的名为exec的用户添加到名为exec的组。
/ # addgroup -S -g 999 exec && adduser -u 999 -SDHG exec exec
您可以使用delgroup
命令从Linux删除特定的组。
Dockerfile
FROM alpine
RUN delgroup ping &&\
addgroup -S -g 999 exec && adduser -u 999 -SDHG exec exec &&\
id exec
建立标准输出
Step 2/2 : RUN delgroup ping && addgroup -S -g 999 exec && adduser -u 999 -SDHG exec exec && id exec
---> Running in d851c697c3c8
uid=999(exec) gid=999(exec) groups=999(exec),999(exec)
Removing intermediate container d851c697c3c8
---> 76a3ac4c1308
Successfully built 76a3ac4c1308
Successfully tagged ping:latest