Script pour générer des comptes

Fermé
David - 12 nov. 2005 à 08:19
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 12 nov. 2005 à 23:04
Bonjour,

Existerait-t'il un script qui génèrerait à partir d'une liste de type "NOM Prénom", un login, un mot de passe et qui créerait les comptes en conséquences ?

Merci pour toute suggestion
A voir également:

2 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
12 nov. 2005 à 16:20
useradd peut répondre à ta demande
USERADD(8)                                                          USERADD(8)



NOM
       useradd  -  Créer  un nouvel utilisateur ou mettre à jour l'information
       par défaut sur un nouvel utilisateur

SYNOPSIS
       useradd [-c commentaire] [-d rép_perso]
               [-e date_expiration] [-f inactive_time]
               [-g groupe_initial] [-G groupe[,...]]
               [-m [-k rép_squelette] | -M] [-p mot_de_passe]
               [-s shell] [-u uid [ -o]] [-n] [-r] login

       useradd -D [-g groupe_défaut] [-b rép_perso_défaut]
               [-f inactivité] [-e date_expiration_défaut]
               [-s shell_défaut]
<cut/>

Sous Debian
[johand@horus]~ $dpkg -S /usr/sbin/useradd
passwd: /usr/sbin/useradd

Paquetage passwd

Johan
0
Oui ok, pour useradd, mais moi je me met dans le cas où il existerait une liste d'une centaine de "client" (de la forme DUPONT Henri, KERVADEC Jean Yves ..., mais en colonne). J'aimerais qu'à partir de cette liste, le script extrait les infos, et utilise par exemple useradd pour créer les comptes (et génération aussi d'un mot de passe etc), sans que je n'ai a tapé cent fois la meme commande...
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
12 nov. 2005 à 23:04
Une possibilité (avec variations innombrables, ajout de répertoire perso, groupe...)
horus:/home/johand# cat theusers.csv
Toto Le heros,tlh,/bin/bash
Zebulon,zbl,/bin/bash
restricted,rstrctd,/bin/false
horus:/home/johand# cat theusers.csv |while read line; do username=$(echo $line|cut -d ',' -f2);
> usershell=$(echo $line|cut -d ',' -f3)
> useradd -g users -p secret -s $usershell $username
> done
horus:/home/johand# tail -3 /etc/passwd
tlh:x:1005:100::/home/tlh:/bin/bash
zbl:x:1006:100::/home/zbl:/bin/bash
rstrctd:x:1007:100::/home/rstrctd:/bin/false
0