script_Createuser
This commit is contained in:
@@ -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"
|
||||
Reference in New Issue
Block a user