Как удалить программу ping с alpine linux? - PullRequest
0 голосов
/ 16 июня 2020

Глупый вопрос, но все же. По какой-то причине я хотел бы повторно использовать GID 999 и UID 999 в моем alpine Linux. К сожалению, этот идентификатор связан с программой ping в alpine Linux. Как мне удалить программу ping , чтобы повторно использовать 999 GID?

Это то, что я делаю.

Запустите мой alpine 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

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Вы можете использовать команду delgroup для удаления указанной c группы из Linux.

Dockerfile

FROM alpine

RUN delgroup ping &&\
        addgroup -S -g 999 exec && adduser -u 999 -SDHG exec exec &&\
        id exec

STDOUT сборки

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
0 голосов
/ 16 июня 2020

Решение, к которому я пришел, оказалось проще, чем я думал. Я только что удалил строку, содержащую id 999 из файла /etc/group. Впоследствии я смог повторно использовать этот идентификатор. Я использовал программу sed для этого ниже, это решение m.

Удаление интересующей строки из /etc/group/ файла.

/ # sed -i.bak '/999/d;' /etc/group

Создание группы с именем exe c с GID 999 и добавление пользователя с именем exe c с UID 999 в группу с именем exe c.

/ # addgroup -S -g 999 exec && adduser -u 999 -SDHG exec exec
...