From fdd34a847ea3d4ffeb5438c4f8a3e121d1664598 Mon Sep 17 00:00:00 2001 From: elam monnot Date: Fri, 25 Mar 2022 11:20:54 +0100 Subject: [PATCH] fin tp crsamba --- sio1/sisr1/40-Shell/crsamba8.sh | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 sio1/sisr1/40-Shell/crsamba8.sh diff --git a/sio1/sisr1/40-Shell/crsamba8.sh b/sio1/sisr1/40-Shell/crsamba8.sh new file mode 100755 index 0000000..bcb6a09 --- /dev/null +++ b/sio1/sisr1/40-Shell/crsamba8.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +#set -e +#set -u + + +if [[ $# -ne 1 ]] ; then + echo "usage : $0 " # nombre de parametres != 1, sortie + exit 1 +fi + +if [[ ! -r "$1" ]] ; then + echo "$0 : erreur ouverture fichier ${fich}" # erreur ouverture fichier, sortie + exit 2 +fi + +fich=$1 +while read ligne # lecture ligne a ligne +do + echo "$ligne" | grep "^#" >> /dev/null && continue # ignore commentaires + [[ -z "$ligne" ]] && continue # ignore lignes vides + login=$(echo "${ligne}"|cut -d: -f1) # recuperation login + long=$(echo "${ligne}"|cut -d: -f2) # recuperation nom complet + #echo "${login} ${long}" + getent passwd "${login}" >> /dev/null + if [[ $? -ne 0 ]] ; then # pas trouve, on peut le creer + useradd --create-home --home-dir /home/"${login}" --shell /bin/bash --comment "${long}" "${login}" # creation utilisateur + passwd=$(pwgen 6 1) + echo "${login}:${passwd}"|chpasswd # affectation mot de passe utilisateur + echo "${login}:${passwd}" >> "${fich}.pwd" # enregistrement dans fichier + else + echo "$0 : utilisateur ${login} existant" + fi + +done < "${fich}"