如何从Alpine Linux中删除ping程序?

问题描述 投票:0回答:2

愚蠢的问题,但仍然。由于某些原因,我想在我的高山Linux中重用GID 999UID 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
linux docker alpine
2个回答
0
投票

我到达的解决方案比我想象的要简单。我刚刚从/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

0
投票

您可以使用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
© www.soinside.com 2019 - 2024. All rights reserved.