From 4af134abdfb08cbd899a9e0e4544fba5ab1ce28c Mon Sep 17 00:00:00 2001 From: "ayoub.boullouh" Date: Mon, 11 Apr 2022 14:34:53 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'sisr1/40-bash/crsa?= =?UTF-8?q?mba8.sh'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sisr1/40-bash/crsamba8.sh | 49 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/sisr1/40-bash/crsamba8.sh b/sisr1/40-bash/crsamba8.sh index 81cb9dd..9c45c50 100755 --- a/sisr1/40-bash/crsamba8.sh +++ b/sisr1/40-bash/crsamba8.sh @@ -1,33 +1,32 @@ #!/bin/bash -#crsamba2 - #set -e #set -u - -fich=$1 - if [[ $# -ne 1 ]] ; then - echo "usage : $0 " - exit 1 + echo "usage : $0 " # si différent de 1 alors on sortira + exit 1 + fi -if [[ ! -r "${fich}" ]] ; then - echo "$0 : erreur d'ouverture du fichier ${fich}" - exit 2 +if [[ ! -r $1 ]] ; then + echo "$0 : erreur ouverture fichier $1" # ce n'est pas le bon fichier donc on sortira du script + exit 2 fi +fich=$1 +while read ligne #lecture du fichier de lignes en lignes +do -while read ligne - do - login=$(echo "${ligne}"|cut -f1 -d':' ) - long=$(echo "${ligne}"|cut -f2 -d':') - echo "${login} ${long}" - - getent passwd "${login}" >> /dev/null -if [[ $? -ne 0 ]] ; then - useradd -m -d /home/"${login}" -s /bin/bash -c "${nom}" "${login}" - -else - echo "$0 : utilisateur ${login} existant" -fi - -done < ${fich} + echo "$ligne" | grep "^#" >> /dev/null && continue #ceci va ignorer les lignes commentés + [[ -z "$ligne" ]] && continue #ceci va ignorer les lignes vides + login=$(echo "${ligne}" |cut -d ':' -f 1) # récupèration du login + nom=$(echo "${ligne}" |cut -d ':' -f 2) # récupèration du nom + + getent passwd "${login}" >> /dev/null #génération du mot de passe + if [[ $? -ne 0 ]] ; the # si aucun compte est trouvé alors on le crée + sudo useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${nom}" "${login}" #création de l'utilisateur + mdp=$(pwgen 6 1) # création du mot de passe possédant au moins 6 caracteres + echo "${login}:${mdp}" | chpasswd #le mot de passe a été ajouté à un utilisateur + echo "${login}:${mdp}" >> "${fich}.pwd" #les mots de passes sont stockés dans le fichier users.txt.pwd + else + echo "$0 : user ${login} existant" + fi +done < $fich \ No newline at end of file