diff --git a/sisr1/TP04-Bases-d'administration/createLogins.sh b/sisr1/TP04-Bases-d'administration/createLogins.sh index a9f57e8..9ed343e 100644 --- a/sisr1/TP04-Bases-d'administration/createLogins.sh +++ b/sisr1/TP04-Bases-d'administration/createLogins.sh @@ -1,30 +1,24 @@ #!/bin/bash +fichier=Users.csv +fichier_a_ecrire=./login.csv +rm $fichier_a_ecrire 2> /dev/null +touch $fichier_a_ecrire -# Fichier d'entrée contenant les informations des utilisateurs -input_file="users.csv" -# Fichier de sortie contenant les logins générés -output_file="logins.csv" +while read ligne +do + aecrie="" + last_name=$(echo $ligne | cut -d "," -f2) # récupération du nom a chaque ligne + first_name=$(echo $ligne | cut -d "," -f1) # récupération du prénom a chaque ligne + group=$(echo $ligne | cut -d "," -f5) # recupération du groupe a chaque ligne + login=$(echo $first_name | cut -c1)$last_name # creation d'un login + login=$(echo $login | tr [:upper:] [:lower:]) #passage de toute les lettre du nom et prenom en minuscule + login=$(echo $login | tr -dc [:alnum:]) #Prise en compte des caractere uniquement alphabéticonumérique + password=$(echo $RANDOM | md5sum | head -c8) #creation d'un mot de passe -# Fonction pour générer un mot de passe aléatoire -generate_password() { - # Générer un mot de passe aléatoire de 8 caractères alphanumériques - # Utilise /dev/urandom et tr pour choisir uniquement des caractères alphanumériques - < /dev/urandom tr -dc 'A-Za-z0-9' | head -c 8 -} + aecrie="$login;$password;$first_name;$last_name;$group" -# Créer un fichier de sortie et ajouter l'en-tête -echo "Nom d'utilisateur,Prénom,Nom,Mot de passe,Groupe" > "$output_file" + echo $aecrie >> $fichier_a_ecrire -# Lire le fichier d'entrée ligne par ligne -while IFS=' ' read -r firstname lastname group; do - # Générer le nom d'utilisateur en prenant l'initiale du prénom et le nom, tout en minuscules - username="${firstname:0:1}${lastname}" - - # Générer un mot de passe aléatoire - password=$(generate_password) +done < $fichier - # Ajouter la ligne au fichier de sortie - echo "$username,$firstname,$lastname,$password,$group" >> "$output_file" -done < "$input_file" - -echo "Fichier logins.csv généré avec succès." +echo "le fichier login.csv a bien été créer" \ No newline at end of file diff --git a/sisr1/TP04-Bases-d'administration/createUsers.sh b/sisr1/TP04-Bases-d'administration/createUsers.sh new file mode 100644 index 0000000..6c33f3b --- /dev/null +++ b/sisr1/TP04-Bases-d'administration/createUsers.sh @@ -0,0 +1,20 @@ +file=./login.csv + + +while read ligne +do + username=$(echo $ligne | cut -d ";" -f1) + useradd -m -s "/bin/bash" $username + + group=$(echo $ligne | cut -d ";" -f5) + usermod -aG $group $username + + password=$(echo $ligne | cut -d ";" -f2) + + echo $username:$password | chpasswd + + chown $username:$username /hom/$username + +done <$fichier + + diff --git a/sisr1/TP04-Bases-d'administration/gitpush.sh b/sisr1/TP04-Bases-d'administration/gitpush.sh index 4259a0d..ecc1025 100644 --- a/sisr1/TP04-Bases-d'administration/gitpush.sh +++ b/sisr1/TP04-Bases-d'administration/gitpush.sh @@ -13,4 +13,4 @@ git add . git commit -m "$message" # Push vers le dépot -git push -u https://jeremy.thomas@gitea.lyc-lecastel.fr/redouane.assani/siotp.git \ No newline at end of file +git push -u https://reddouane.assani@gitea.lyc-lecastel.fr/redouane.assani/siotp.git \ No newline at end of file diff --git a/sisr1/TP04-Bases-d'administration/login.csv b/sisr1/TP04-Bases-d'administration/login.csv new file mode 100644 index 0000000..24a1892 --- /dev/null +++ b/sisr1/TP04-Bases-d'administration/login.csv @@ -0,0 +1,30 @@ +eberthelmot;b67e86f8;Ermengarde;Berthelmot;Accountant +kbunker;c96ce0e8;Kassi;Bunker;Production +mmccallum;8d3df113;Moises;McCallum;Production +plune;719198af;Patrizio;Lune;Accountant +beverix;c914708a;Blanch;Everix;Accountant +skibbel;5eab5ab7;Stafani;Kibbel;Production +imosdell;f6c73e14;Ignacius;Mosdell;Management +jwallerbridge;aeca1ecf;Jeana;Waller-Bridge;Management +edressel;5679fb79;Elroy;Dressel;Production +tstrettell;0b218424;Thea;Strettell;Production +sinsoll;02b743ca;Solomon;Insoll;Accountant +cfeedome;32405639;Carri;Feedome;Accountant +pchetwind;a75beebe;Padraic;Chetwind;Management +sdugo;4b4f98e3;Solly;D'Ugo;Production +kmaccostigan;0db1473c;Konstanze;MacCostigan;Accountant +rpowlesland;c0e9b6c6;Roxane;Powlesland;Management +okennealy;155f3674;Orelle;Kennealy;Production +ssoitoux;323f6ff8;Sukey;Soitoux;Production +nsyce;82c0f357;Nelli;Syce;Production +cshillam;0575710e;Clarisse;Shillam;Production +cgueny;fad38e18;Carin;Gueny;Management +driepel;c7482c14;Donny;Riepel;Production +dralfe;a053e245;Daniella;Ralfe;Production +lclynmans;5865f85c;Lexy;Clynmans;Production +gadamthwaite;5d8660f7;Gardiner;Adamthwaite;Production +wlippett;7d65808a;Woodman;Lippett;Production +nmunnion;d353774c;Nadya;Munnion;Production +lhabershon;1594623a;Llewellyn;Habershon;Production +igreatrex;f6ed5356;Isaak;Greatrex;Production +dfrostdyke;d8eb0743;Darill;Frostdyke;Production