Linux et Unix Script

Script : Création d’utilisateurs et de groupe sous Linux

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