From 1e396c0a0954ed7a46ecc9a5ee4e7958d5aa3f2b Mon Sep 17 00:00:00 2001 From: Adrian Amaglio Date: Tue, 18 Jan 2022 20:03:06 +0100 Subject: [PATCH] runing in root. And more doc --- Dockerfile | 2 +- docker-compose.yml | 2 +- entrypoint.sh | 16 ++++++++++++---- readme.md | 4 ++++ 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 201a021..5450b5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ FROM debian:10 -WORKDIR /app +WORKDIR /root RUN addgroup eleve diff --git a/docker-compose.yml b/docker-compose.yml index ddcc5eb..d776455 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: app: build: . volumes: - - ./config:/app/config + - ./config:/root/config - ./home_eleves:/home network_mode: "host" restart: "unless-stopped" diff --git a/entrypoint.sh b/entrypoint.sh index 17c22ab..10e3bbe 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,9 +1,8 @@ #!/bin/sh HOME_BASE="/home" -USERS_LIST="/app/config/users.txt" -PASSWD_LIST="/app/config/passwords.txt" -CUSTOM_SCRIPT="/app/config/init.sh" +USERS_LIST="./config/users.txt" +PASSWD_LIST="./config/passwords.txt" separator="=" # Must be ascii for cut forbidden_chars=". / : # = \ " @@ -27,9 +26,19 @@ echo " Create users (and passwords if needed) as in $USERS_LIST" genPassowrd () { tr -dc A-Za-z0-9 "$tmp" + mv "$tmp" "$1" +} + if [ ! -e "$PASSWD_LIST" ] ; then touch "$PASSWD_LIST" fi + +sanitizeFile "$PASSWD_LIST" +sanitizeFile "$USERS_LIST" + for user in $(cat "$USERS_LIST") ; do if [ -z "$user" ] || [ -n "$(cat $PASSWD_LIST | grep "$user$separator")" ] ; then continue ; fi echo "$user$separator$(genPassowrd 6)" >> $PASSWD_LIST @@ -38,7 +47,6 @@ done for line in $(cat $PASSWD_LIST) ; do name="$(echo "$line" | cut -d "$separator" -f 1)" pass="$(echo "$line" | cut -d "$separator" -f 2)" - echo $name $pass if [ -z "$name" ] || [ -z "$pass" ] ; then echo "Malformed line skipped: '$line'" ; continue ; fi home="$HOME_BASE/$name" mkdir -p "$home" diff --git a/readme.md b/readme.md index 026181d..f672caf 100644 --- a/readme.md +++ b/readme.md @@ -33,3 +33,7 @@ Pour suivre la progression des élèves, on utilise le script suivant. ``` TODO ``` + +## Ajouter des élèves +Si l’activité est déjà lancée et que vous souhaitez ajouter des élèves, faites le IMPÉRATIVEMENT __en bas du fichier__ `config/users.txt` ou `config/passwords.txt`. +Sans quoi les comptes peuvent être recréés avec des UID différents au redémarrage du conteneur et les droits seront incohérents.