challenge: Handle root password
This commit is contained in:
parent
1fa4649c70
commit
74cbd90e20
@ -20,8 +20,21 @@ cmdline() {
|
|||||||
USER_LOGIN=$(cmdline adlin.login)
|
USER_LOGIN=$(cmdline adlin.login)
|
||||||
USER_PKEY=$(cmdline adlin.key)
|
USER_PKEY=$(cmdline adlin.key)
|
||||||
USER_IP=$(cmdline adlin.ip)
|
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 "${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
|
# Define hostname
|
||||||
hostname adlin-${USER_LOGIN}
|
hostname adlin-${USER_LOGIN}
|
||||||
@ -45,6 +58,7 @@ done
|
|||||||
|
|
||||||
# Launch some daemons
|
# Launch some daemons
|
||||||
#/usr/bin/setsid /usr/sbin/crond > /dev/null &
|
#/usr/bin/setsid /usr/sbin/crond > /dev/null &
|
||||||
|
/usr/bin/setsid /bin/shadow-up > /dev/null 2> /dev/null &
|
||||||
|
|
||||||
# Prepare bonus 2
|
# Prepare bonus 2
|
||||||
mkdir -p /mnt
|
mkdir -p /mnt
|
||||||
@ -68,7 +82,7 @@ N2=$((25 + $RANDOM % 35))
|
|||||||
sync
|
sync
|
||||||
rm /mnt/bonus2
|
rm /mnt/bonus2
|
||||||
sync
|
sync
|
||||||
umount /mnt
|
umount /mnt 2> /dev/null
|
||||||
|
|
||||||
|
|
||||||
# Launch requested init
|
# Launch requested init
|
||||||
|
Reference in New Issue
Block a user