Minhas desculpas, não estou familiarizado com o OpenShift, mas em um ambiente baunilha do Docker, sugiro que você crie uma nova imagem baseada em um contêiner modificado que tenha as alterações desejadas e, em seguida, execute todos os novos contêineres dessa imagem. Você pode facilmente criar outra imagem com base na que você está usando atualmente que tenha seu / etc / passwd modificado, bem como quaisquer outros controles que você queira impor.
Por exemplo (estou usando o ubuntu: mais recente desde que você não mencionou a imagem real da qual está tentando executar). Primeiro, execute um novo contêiner baseado na imagem escolhida e execute apenas um comando para criar um novo usuário e adicioná-lo ao grupo sudo:
$ docker run --name test ubuntu:latest useradd -u 1234 -G sudo newuser
Agora, crie uma nova imagem com base na imagem modificada no novo contêiner:
$ docker commit test test-image
<image id>
Agora você tem uma nova imagem chamada "test-image" da qual você pode executar novos contêineres. Execute um novo contêiner baseado nessa imagem para ver se o novo usuário está em / etc / passwd:
$ docker run --name test2 --rm test-image cat /etc/passwd | grep 1234
newuser:x:1234:1234::/home/newuser:
De agora em diante, toda imagem baseada em "test-image" terá 'newuser' como um usuário válido, já no arquivo / etc / passwd e parte do grupo sudo.
Se você deseja fazer uma personalização mais detalhada, use o seguinte para executar seu contêiner inicial e, quando estiver satisfeito, saia e confirme, conforme mostrado acima:
$ docker run --name test -it ubuntu:latest
Note que simplesmente adicionar o usuário ao grupo sudo pode não ser suficiente para permitir que ele execute comandos como root. Execute 'visudo' e modifique conforme apropriado. A imagem de exemplo acima do Ubuntu precisa ter o pacote sudo e um editor instalado antes de permitir o sudo.