Извиняюсь, что с задержкой отвечаю, полевые работы.
Какая среда: docker или podman? Какими командами запускаете, от какого пользователя? Настроен ли userns?
Rootless docker.
Образ создаю как делал всегда, создаю Dockerfile и делаю (от своего пользователя) :
docker build .Пользователь, конечно, в группе докера
docker:x:945:w00zyDockerfile примитивный:
FROM alt:p11
#FROM ubuntu:latest
RUN true > /etc/security/limits.d/50-defaults.conf \
&& rm -f /etc/apt/sources.list.d/alt.list \
&& echo 'APT::Keep-Downloaded-Packages "false";' > /etc/apt/apt.conf.d/01-disable-cache.conf
RUN useradd -U -m -s /bin/bash builder
ENV HOME=/home/builder
WORKDIR /home/builder
USER builder
CMD ["/bin/bash"]Вот таким образом альт в образ не собирается. Юбунта там для теста, она так собирается.
Если буду в докерфайле обновлять, доустанавливать компоненты, копировать, удалять, настраивать - без проблем делает все. Но пользователя добавить докер в контернере не может. Подозрение на Альтовский tcb (тем более именно на него и ругается) но да же попытка переключить control passwd traditional внутри контейнера при сборке не сработала. Видимо не туда смотрю.
Команда useradd должна выполняться с правами рута, вестимо.
useradd здесь выполняется в контексте докера. Мой докер rotless. Говорю же приведенный выше примитивный докерфайл собирает образ в убунтах-дебианах (альт 10) но у меня в 11 не собирается.
Я, таки, выдрал гланды через задний карман, собрав себе образ со всеми куртизантками и компиляторами с помощью mkimage-profiles, и сделав импорт
docker import docker-me-20250726-x86_64.tar alt-p11-dev:latestполучил желаемое (среду сборки для одиночных RPM, не загаживая дев пакетами основную систему).
Но так не правильно, что то упускаю и пришлось усложнять задачу.