31 lines
1.1 KiB
Bash
31 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# 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"
|
|
|
|
# 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
|
|
}
|
|
|
|
# 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"
|
|
|
|
# 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)
|
|
|
|
# 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."
|