2025-02-18 20:14:57 +01:00

55 lines
1.3 KiB
Bash

#!/bin/sh
set -e
#set -x
TTYD_ARGS="login"
# Check if this is the container's first run
if [ -f /etc/.firstrun ]; then
# Create user account
echo >> /etc/shells /bin/minishell
adduser -D --shell=/bin/sh $USERNAME
echo "#!/bin/sh
trap '' SIGINT
while :
do
echo "*** Starting Minishell ***"
minishell
done" >> /home/$USERNAME/.runshell.sh
chmod +x /home/$USERNAME/.runshell.sh
echo >> /home/$USERNAME/.profile "./.runshell.sh"
# Add a password to the user
echo "$USERNAME:$PASSWORD" | chpasswd
# Allow access to sudo if permitted
if [ $SUDO_OK == "true" ]; then
addgroup $USERNAME wheel
sed -i '/%wheel ALL=(ALL) ALL/s/^# //g' /etc/sudoers
fi
# Prevent this from running again
rm /etc/.firstrun
fi
# Optionally set a timezone
CURRENT_TZ=$(cat /etc/timezone)
if [ "$TZ" != "$CURRENT_TZ" ]; then
echo "Setting timezone to $TZ"
# delete symlink if it exists
[ -f /etc/localtime ] && rm /etc/localtime
# set timezone
ln -s "/usr/share/zoneinfo/$TZ" /etc/localtime
echo $TZ > /etc/timezone
fi
# Auto login the user, if allowed
[ $AUTOLOGIN == "true" ] && TTYD_ARGS="$TTYD_ARGS -f $USERNAME"
passwd -l root
# Start ttyd
exec ttyd -W -m 5 -p 8006 $TTYD_ARGS