Sommaire :
I) Avec un compteur
II) Avec une liste de noms
I) Avec un compteur
Le script ci-dessous va vous permettre de créer des utilisateurs en masse sur votre système en créant leur répertoire "Home" et leur mot de passe.
Le mot de passe et login seront identique.
#!/bin/sh
for i in <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+c2VxIDEgMTAwPC9jb2RlPg=="></span>;
do
user=<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZWNobyB1c2VyJGk8L2NvZGU+"></span>
echo "creation de l'utilisateur : $user"
useradd -m -d /home/$user $user
echo "$user:$user" | chpasswd
done
II) Avec une liste de noms
Votre fichier doit être un fichier CSV avec séparation point-virgule. Une ligne par personne. Respectant le schéma ci-dessous :
ID ;Prenom ;Nom ;UserID ;
– Voici un exemple de mon fichier liste de noms.csv :
1;Jesper;Gauvin;jgauvin
2;Romaine;Authier;rauthier
3;Agrican;Auclair;aauclair
4;Paul;Daoust;pdaoust
5;Madeleine;Latourelle;mlatourelle
6;Michèle;Pelletier;mpelletier
7;Calandre;Petit;cpetit
8;Scoville;Lafrenière;slafrenière
9;Belisarda;Chauvin;bchauvin
– Vous pouvez télécharger le fichier que j’ai utilisé comme exemple :
wget http://idum.eu/Telechargements/Scripts/article_326/listedenoms.csv
Nous utiliserons le champ "UserID" comme nom d’utilisateur. Et le champ "Prenom" comme mot de passe.
Voici le script :
#!/bin/sh
################################################################
# Partie nom du fichier
################################################################
echo -e "\nVotre fichier doit etre un fichier csv avec séparation point-virgule."
echo -e "Une ligne par personne respectant le schema ci-dessous :"
echo -e "ID;Prenom;Nom;UserID;"
echo -e "Comment ce nomme votre fichier liste de noms :\n"
read filenamecsv
if [ -e ./$filenamecsv ];
then
echo -e "\nLe fichier existe\n"
else
echo -e "\nECHEC : Le fichier est introuvable\n"
exit 1
fi
################################################################
# Partie conversion
################################################################
if [ <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YXB0aXR1ZGUgc2VhcmNoIGRvczJ1bml4IHwgdHIgLXMgJnF1b3Q7ICZxdW90OyB8IGN1dCAtZCAmcXVvdDsgJnF1b3Q7IC1mIDEsMiB8IGdyZXAgJnF1b3Q7XmkmcXVvdDsgfAp3YyAtbDwvY29kZT4="></span> -ne 0 ];
then
echo "Deja installe";
else
aptitude -y install dos2unix
fi
dos2unix ./$filenamecsv
################################################################
# Partie suppresion accents
################################################################
if [ <span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+YXB0aXR1ZGUgc2VhcmNoIHVuYWNjZW50IHwgdHIgLXMgJnF1b3Q7ICZxdW90OyB8IGN1dCAtZCAmcXVvdDsgJnF1b3Q7IC1mIDEsMiB8IGdyZXAgJnF1b3Q7XmkmcXVvdDsgfAp3YyAtbDwvY29kZT4="></span> -ne 0 ];
then
echo "Deja installe";
else
aptitude -y install unaccent
fi
unaccent ISO-8859-1 < ./$filenamecsv > ./listedenomsnoaccent.csv
################################################################
# Partie Ajout
################################################################
cat ./listedenomsnoaccent.csv | while read varligne
do
password=<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZWNobyAkdmFybGlnbmUgfGN1dCAtZCAnOycgLWYyPC9jb2RlPg=="></span>
password=<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZWNobyAke3Bhc3N3b3JkLCx9IHwgc2VkICdzL14uXHwgW2Etel0vXFUmYW1wOy9nJzwvY29kZT4="></span>
username=<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZWNobyAkdmFybGlnbmUgfGN1dCAtZCAnOycgLWY0PC9jb2RlPg=="></span>
username=<span class="base64" title="PGNvZGUgY2xhc3M9InNwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lIiBkaXI9Imx0ciI+ZWNobyAke3VzZXJuYW1lLCx9PC9jb2RlPg=="></span>
echo "creation de l'utilisateur : $username"
useradd -m -d /home/$username $username
echo "$username:$password" | chpasswd
done