Linux:
Script permettant de crée des utilisateurs et des groupes à partir d’un fichier texte.
Exemple du fichier :
martin,pier,1995-11-07,sales
silvie,audain,1975-10-08,HR
jacque,lamie,1988-09-09,tech
mike,paul,1989-08-10,admin
paul,simon,1976-07-12,sales
Comme vous le voyez chaque ligne contient le nom, le prénom, la date de naissance, le département et séparé d’une virgule.
Script
ADDB=0 # initialize une variable
while IFS= :$’,’ read NOM PRENOM NAISSANCE DEPARTEMENT # lire chaque entrée séparé par une virgule
do
ADDB=$ADDB+1
PASS[ADDB]=${NAISSANCE:0:4} #mémoriser le mot de passé dans le tableau
GROUPE[ADDB]=$DEPARTEMENT #mémorise les groupes dans le tableau a la position ADDB
UTILISATEUR[ADDB]=$NOM${PRENOM:0:1} #mémoriser l’utilisateur (nom+1er lettre prénom)
Done < $1
### boucle pour ajouter le groupe
for ((x=1 ; x<$ADDB ; x++))
do
if grep “^${GROUPE[x]}” /etc/group #analyser si le groupe existe dans /etc/GROUP
then
echo – # si existe ne rien faire
else
addgroup ${GROUPE[x]} # si n’existe pas, ajouter le groupe
fi
done
###boucle pour ajouter l’utilisateur et mot de passe
for ((x=1 ; x<=$ADDB ; x++))
do
if grep –q ${UTILISATEUR[x]} /etc/passwd #analyser si l’utilisateur existe dans le fichier /etc/passwd
then
echo – #si oui ne rien faire
else
useradd –m –s /bin/bash –G ${GROUPE[x]} ${UTILISATEUR[x]} # si non ajouter l’utilisateur à son groupe
echo ${UTILISATEUR[x]}:${PASS[x]} | chpasswd # si non ajouter le mot de passe à l’utilisateur
fi
done
Sources : Audain.net