34 lines
1.1 KiB
Bash
34 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
CURRENT_GID=$(id -g $1)
|
|
echo "Current GID: $CURRENT_GID"
|
|
|
|
if [ -n "$USER_GID" ] && [ "$USER_GID" != "$CURRENT_GID" ]; then
|
|
echo "Changing GID to $USER_GID"
|
|
groupmod -g $USER_GID $1
|
|
find / -group $CURRENT_GID -exec chgrp -h $1 {} \;
|
|
fi
|
|
|
|
CURRENT_UID=$(id -u $1)
|
|
echo "Current UID: $CURRENT_UID"
|
|
|
|
if [ -n "$USER_UID" ] && [ "$USER_UID" != "$CURRENT_UID" ]; then
|
|
echo "Changing UID to $USER_UID"
|
|
usermod -u $USER_UID $1
|
|
find / -user $CURRENT_UID -exec chown -h $1 {} \;
|
|
fi
|
|
|
|
CURRENT_PASSWD=$(grep -E "^password: .*$" /home/$1/.config/code-server/config.yaml | cut -d ":" -f 2 | awk '{$1=$1;print}')
|
|
|
|
if [ -n "$USER_PASSWD" ] && [ "$CURRENT_PASSWD" != "$USER_PASSWD" ] || [ "$CURRENT_PASSWD" == "PASSWORD" ]; then
|
|
echo "Changing password"
|
|
if [ -z "$USER_PASSWD" ]; then
|
|
echo "Setting a new password at random"
|
|
USER_PASSWD=$(tr -dc A-Za-z0-9 < /dev/urandom | head -c 20; echo)
|
|
fi
|
|
|
|
sed -i "s/^password: .*$/password: $USER_PASSWD/g" /home/$1/.config/code-server/config.yaml
|
|
echo "Result of sed call: $?"
|
|
fi
|
|
|
|
/usr/bin/code-server --bind-addr 0.0.0.0:8080 . |