diff --git a/.env.sample b/.env.sample index 952bd557879e486bec1fe304101cf0e1b9dc2d2d..c42984e28c61cdab207aba1e67ef4edcb3faf50d 100644 --- a/.env.sample +++ b/.env.sample @@ -4,6 +4,7 @@ COMPOSE_FILE=docker-compose.yml:ports.yml PASS=MON_SUPER_MOT_DE_PASSE NAME=kasmVNC +VNC_USER=kasm HOST=kasmVNC.tetras-lab.io PORT=6901 diff --git a/docker-compose.yml b/docker-compose.yml index 2be139ddc09f89f23797d476f3611b05d37e6937..6529a4c19620b58f7a5ec8e0156e63cefda3b65b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,19 +6,17 @@ services: args: - SPYDER=${SPYDER} - ANACONDA=${ANACONDA} - - KASM_USER=${USER} + - KASM_USER=${VNC_USER} image: "kasmvnc-ubuntu-noble:spyder-${SPYDER}_anaconda-${ANACONDA}" container_name: KasmVNC-ubuntu volumes: - homedir:/home/:rw - - etc_shadow:/opt/shadow environment: - VNC_PW=${PASS} - SPYDER=${SPYDER} - ANACONDA=${ANACONDA} - - KASM_USER=${USER} + - KASM_USER=${VNC_USER} volumes: homedir: - etc_shadow: diff --git a/docker/Dockerfile b/docker/Dockerfile index 055cbe08d31dc987f413eb51ce3814a4f0fe5646..eac0215cfa819ea78cee9bd7d6c9e98c3a0d22aa 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,7 +19,6 @@ RUN apt-get update && \ apt-get -y dist-upgrade && \ apt-get install -y \ firefox \ - gnome-system-tools \ inotify-tools \ language-pack-fr \ language-pack-fr-base \ @@ -28,7 +27,8 @@ RUN apt-get update && \ locale-gen --purge fr_FR.UTF-8 en_US.UTF-8 RUN mkdir /install -RUN for f in /dockerstartup/*.sh; do sed -i -e "s/kasm_user/$KASM_USER/g" $f; done +RUN usermod -l $KASM_USER kasm-user; \ + for f in /dockerstartup/*.sh; do sed -i -e "s/kasm_user/$KASM_USER/g" $f; done WORKDIR /install # === Install Spyder === # @@ -47,7 +47,7 @@ RUN if [ "$ANACONDA" = true ] ; then \ RUN rm -rf $HOME/.cache COPY custom_startup.sh $STARTUPDIR/custom_startup.sh -COPY shadow_monitor.sh / +COPY change_password.sh / ######### End Customizations ########### diff --git a/docker/change_password.sh b/docker/change_password.sh new file mode 100755 index 0000000000000000000000000000000000000000..cff6ac1aa2af819d693dca273caa9cf066d6e2c5 --- /dev/null +++ b/docker/change_password.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +title="Changement du mot de passe" +password=$(zenity --title="$title" --question="Veuillez entrer votre mot de passe" --entry) +confirm=$(zenity --title="$title" --question="Veuillez entrer votre mot de passe" --entry) +icon="error" +if [ "$password" != "$confirm" ]; then + message=$(echo -e "$password\n$password" | vncpasswd -u $KASM_USER $HOME/.vnc/passwd) + if [ $? -eq 0 ]; then + message="Mot de passe changé" + icon="info" + fi +else + message="La confirmation du mot de passe n'est pas identique au mot de passe" +fi +notify-send -i $icon "$message" diff --git a/docker/custom_startup.sh b/docker/custom_startup.sh index 2c84e090bd779612e7cbc96f54ea1a439e85116e..6225f467900c3ca4b33a5c80d347c21225cb11e1 100755 --- a/docker/custom_startup.sh +++ b/docker/custom_startup.sh @@ -7,10 +7,10 @@ sed -i -e "s@kasm-default-profile@$KASM_USER@g" ~/anaconda3/etc/profile.d/conda. mkdir -p $VNC_HOME/Desktop cat <<EOF > $VNC_HOME/Desktop/users.desktop [Desktop Entry] -Type=Link +Type=Application Name=Change password Icon=config-users -URL=/usr/share/applications/users.desktop +Exec=/change_password.sh terminal=true EOF @@ -35,12 +35,4 @@ Icon=$VNC_HOME/anaconda3/share/icons/spyder.png Exec=$(which spyder) eof fi - -if [ -f "/opt/shadow/shadow" ] -then - echo "Copying shadow file" - cp /opt/shadow/shadow /etc/shadow - sync -fi - -/shadow_monitor.sh +chmod +x $VNC_HOME/Desktop/*.desktop diff --git a/docker/shadow_monitor.sh b/docker/shadow_monitor.sh deleted file mode 100755 index 4f3c25233bd677a301a87694ca239d21541e5674..0000000000000000000000000000000000000000 --- a/docker/shadow_monitor.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -sleep 10 - -while true; do - modif=$(inotifywait --event move /etc) - echo "Modif : '$modif'" - if [ ! -z "$(echo $modif | grep 'MOVED_FROM nshadow')" ]; then - echo "Shadow file has changed" - sync - cp /etc/shadow /opt/shadow/shadow - fi -done -