challenge: Handle root password

This commit is contained in:
nemunaire 2022-02-27 11:25:22 +01:00
parent 1fa4649c70
commit 74cbd90e20

View File

@ -20,8 +20,21 @@ cmdline() {
USER_LOGIN=$(cmdline adlin.login)
USER_PKEY=$(cmdline adlin.key)
USER_IP=$(cmdline adlin.ip)
ROOT_PASSWORD=$(cmdline adlin.rootpasswd)
[ -f /etc/shadow_ ] && mv /etc/shadow_ /etc/shadow
[ -n "${USER_IP}" ] && echo "${USER_IP}" > /root/my_ip
[ -n "${ROOT_PASSWORD}" ] && sed -i "/^root:/s@!@${ROOT_PASSWORD}@" /etc/shadow
# Handle extra user from /etc/shadow
sed -r 's/^([^:]+):.*$/\1/' /etc/shadow | while read u; do
grep -q "^$u" /etc/passwd || {
i=$(($(wc -l /etc/passwd | cut -d ' ' -f 1) + 988))
echo "$u:x:$i:$u" >> /etc/group
echo "$u:x:$i:$i:new user:/home:/bin/ash" >> /etc/passwd
}
done
# Define hostname
hostname adlin-${USER_LOGIN}
@ -45,6 +58,7 @@ done
# Launch some daemons
#/usr/bin/setsid /usr/sbin/crond > /dev/null &
/usr/bin/setsid /bin/shadow-up > /dev/null 2> /dev/null &
# Prepare bonus 2
mkdir -p /mnt
@ -68,7 +82,7 @@ N2=$((25 + $RANDOM % 35))
sync
rm /mnt/bonus2
sync
umount /mnt
umount /mnt 2> /dev/null
# Launch requested init