useradd -D -u 901 -r -g ubuntu Is incorrect, remove the -D.
And it's a bit weird to make the ubuntu users system user, and give it a gui/uid < 1000. Another style thing, it's a bit awkward to use sudo in front of every command when this is running as root. The only real reason to include sudo in a docker image is because there are some legacy scripts/software that uses it. On Thu, Jul 11, 2019, 08:45 Alterego <[email protected]> wrote: > Hello > I'm new to packer, I've got the following packer script. I would like to > create a docker ubuntu image with a non root user (ubuntu lets say). > Further I would like add this user into the sudoers group. > I'm trying to adduser using shell provisioner but the build is failing > with an error (note: I tried all flags possible but it's still giving me an > error). > How can I achieve this with Packer/Docker? > > ==> docker: Usage: useradd [options] LOGIN > ==> docker: useradd -D > ==> docker: useradd -D [options] > ==> docker: > ==> docker: Options: > ==> docker: -b, --base-dir BASE_DIR base directory for the home > directory of the > ==> docker: new account > ==> docker: -c, --comment COMMENT GECOS field of the new account > ==> docker: -d, --home-dir HOME_DIR home directory of the new > account > ==> docker: -D, --defaults print or change default > useradd configuration > ==> docker: -e, --expiredate EXPIRE_DATE expiration date of the new > account > ==> docker: -f, --inactive INACTIVE password inactivity period of > the new account > ==> docker: -g, --gid GROUP name or ID of the primary > group of the new > ==> docker: account > ==> docker: -G, --groups GROUPS list of supplementary groups > of the new > ==> docker: account > ==> docker: -h, --help display this help message and > exit > ==> docker: -k, --skel SKEL_DIR use this alternative skeleton > directory > ==> docker: -K, --key KEY=VALUE override /etc/login.defs > defaults > ==> docker: -l, --no-log-init do not add the user to the > lastlog and > ==> docker: faillog databases > ==> docker: -m, --create-home create the user's home > directory > ==> docker: -M, --no-create-home do not create the user's home > directory > ==> docker: -N, --no-user-group do not create a group with > the same name as > ==> docker: the user > ==> docker: -o, --non-unique allow to create users with > duplicate > ==> docker: (non-unique) UID > ==> docker: -p, --password PASSWORD encrypted password of the new > account > ==> docker: -r, --system create a system account > ==> docker: -R, --root CHROOT_DIR directory to chroot into > ==> docker: -s, --shell SHELL login shell of the new account > ==> docker: -u, --uid UID user ID of the new account > ==> docker: -U, --user-group create a group with the same > name as the user > ==> docker: -Z, --selinux-user SEUSER use a specific SEUSER for the > SELinux user mapping > ==> docker: --extrausers Use the extra users database > ==> docker: > ==> docker: Killing the container: > 2dc2bd524c302eaadb1f5e12ea72a19023ae6c02250138440f5191cf2f76dc43 > Build 'docker' errored: Script exited with non-zero exit status: 2.Allowed > exit codes are: [0] > > Here's my simple json. file. > > { > "variables": { > "repository": "ubuntu", > "tag": "1.0", > "root_password": null > }, > "builders": [{ > "type": "docker", > "author": "", > "image": "ubuntu:latest", > "commit": true, > "changes": [ > "USER ubuntu" > ] > > > }], > "provisioners": [ > { > "type": "shell", > "inline": [ > "apt-get update -y && apt-get install -y sudo", > "sudo apt-get dist-upgrade -y && sudo apt-get autoremove -y && > sudo apt clean -y && sudo apt-get install -y sudo bash-completion curl > net-tools iputils-ping git python iptables", > "sleep 15", > "sudo groupadd -r ubuntu -g 901", > "sudo useradd -D -u 901 -r -g ubuntu", > "cd /tmp" > > ] > > > }], > > > "post-processors": [ > { > "type": "docker-tag", > "repository": "{{user `repository`}}", > "tag": "{{user `tag`}}" > }, > { > "type": "shell-local", > "inline": ["echo foo"] > } > ] > } > > > Thanks > > > > > -- > This mailing list is governed under the HashiCorp Community Guidelines - > https://www.hashicorp.com/community-guidelines.html. Behavior in > violation of those guidelines may result in your removal from this mailing > list. > > GitHub Issues: https://github.com/mitchellh/packer/issues > IRC: #packer-tool on Freenode > --- > You received this message because you are subscribed to the Google Groups > "Packer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/packer-tool/a6c543a5-1a35-40cd-9d15-2f62ffc0a6b3%40googlegroups.com > <https://groups.google.com/d/msgid/packer-tool/a6c543a5-1a35-40cd-9d15-2f62ffc0a6b3%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/packer/issues IRC: #packer-tool on Freenode --- You received this message because you are subscribed to the Google Groups "Packer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/CALz9Rt-em2rE81vSBNy%3DXnfEjytqGn1nt1kXGL2zeOLWtFO04Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
