|
|
|
@ -2,42 +2,23 @@
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
USER=ubuntu
|
|
|
|
|
UGID=1000
|
|
|
|
|
# There is no default user anymore, console-conf is responsible
|
|
|
|
|
# for creating one
|
|
|
|
|
|
|
|
|
|
echo "I: creating default user $USER"
|
|
|
|
|
adduser --gecos $USER --disabled-login $USER --uid $UGID
|
|
|
|
|
|
|
|
|
|
for extragroup in adm sudo; do
|
|
|
|
|
adduser $USER $extragroup
|
|
|
|
|
# setup the required files for extrausers
|
|
|
|
|
for name in group gshadow passwd shadow subuid subgid; do
|
|
|
|
|
touch /var/lib/extrausers/$name
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
chown -R $UGID:$UGID /home/$USER
|
|
|
|
|
for name in gshadow shadow; do
|
|
|
|
|
chmod 640 /var/lib/extrausers/$name
|
|
|
|
|
chown root:shadow /var/lib/extrausers/$name
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
# Enable libnss-extrusers
|
|
|
|
|
sed -i 's/^group:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
|
|
|
|
sed -i 's/^passwd:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
|
|
|
|
sed -i 's/^shadow:.*compat/\0 extrausers/' /etc/nsswitch.conf
|
|
|
|
|
|
|
|
|
|
# Move user from /etc to extrausers location
|
|
|
|
|
grep "^$USER" /etc/group >> /var/lib/extrausers/group
|
|
|
|
|
grep "^$USER" /etc/passwd >> /var/lib/extrausers/passwd
|
|
|
|
|
grep "^$USER" /etc/shadow >> /var/lib/extrausers/shadow
|
|
|
|
|
grep "^$USER" /etc/gshadow >> /var/lib/extrausers/gshadow
|
|
|
|
|
chmod 0644 /var/lib/extrausers/group
|
|
|
|
|
chmod 0644 /var/lib/extrausers/passwd
|
|
|
|
|
chmod 0640 /var/lib/extrausers/shadow
|
|
|
|
|
chmod 0640 /var/lib/extrausers/gshadow
|
|
|
|
|
chown root:shadow /var/lib/extrausers/shadow
|
|
|
|
|
chown root:shadow /var/lib/extrausers/gshadow
|
|
|
|
|
sed -i "/^$USER/d" /etc/group
|
|
|
|
|
sed -i "/^$USER/d" /etc/passwd
|
|
|
|
|
sed -i "/^$USER/d" /etc/shadow
|
|
|
|
|
sed -i "/^$USER/d" /etc/gshadow
|
|
|
|
|
touch /var/lib/extrausers/subuid
|
|
|
|
|
touch /var/lib/extrausers/subgid
|
|
|
|
|
|
|
|
|
|
# needs to run *after* the user was moved out to /var/lib/extrausers
|
|
|
|
|
echo "I: set user $USER password to $USER"
|
|
|
|
|
echo "$USER:$USER" | chpasswd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|