Création automatique d'utilisateur depuis base de donné?

Création automatique d'utilisateur depuis base de donné? - Linux et OS Alternatifs

Marsh Posté le 20-11-2004 à 08:38:03    

Salut, je suis sous redhat 9, j'aurais besoin de créer un nombre très important de compte (plus de 1000). Je n'ais pas tellement envi de les rentrer à la main... Je voudrais savoir si il exsite une commande du shell qui permet de créer un utilisateur et de lui atribuer un mots de passe aléatoire et d'enregistrer dans un fichier l'identifian et le mot de passe. Il faudrais également vérifier si l'utilisateur n'existe pas déjas, aux quels cas on ne crérer pas l'utilisateur. Le tout à partire d'une base de donner en .csv
 
Esque c'est possible? est a partire de quel langage?
 
merci de votre aide.

Reply

Marsh Posté le 20-11-2004 à 08:38:03   

Reply

Marsh Posté le 20-11-2004 à 13:10:16    

oui c'est possible. ca prend 10 minutes à faire en shell.

Reply

Marsh Posté le 20-11-2004 à 13:41:48    

ouais :o


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 20-11-2004 à 14:17:31    

merci de vso réponse
 
J'ai trouver ce site:
 
http://www-internal.alphanet.ch/~s [...] ode26.html
 
il a l'air bien, cependant je n'ai pas trouver les commande de création d'utilisateur.
 
Vous pouvez me donner un site m'espliquan se dont j'ai besoin pour faire mon scripte, ou me dire comment le faire (j'aimerais le faire moi même pour aprendre...)
 
 
merci

Reply

Marsh Posté le 20-11-2004 à 14:20:16    

de tête tu auras besoin de
 
cat
cut
tr (peut être)
sed/awk
newusers
 

Citation :

                                                                                        NEWUSERS(8)
 
NAME
       newusers - update and create new users in batch
 
SYNOPSIS
       newusers [new_users]
 
DESCRIPTION
       newusers reads a file of user name and cleartext password pairs and uses this information to update a group of
       existing users or to create new users.  Each line is in the same format as the  standard  password  file  (see
       passwd(5)) with the following exceptions.
 
       pw_passwd This field will be encrypted and used as the new value of the encrypted password.
 
       pw_age    This field will be ignored for shadow passwords if the user already exists.
 
       pw_gid    This  field  may  be  the name of an existing group, in which case the named user will be added as a
                 member.  If a non-existent numerical group is given, a new group will be created having this number.
 
       pw_dir    This  field will be checked for existence as a directory and a new directory with the same name will
                 be created if it does not already exist.  The ownership of the directory will be set to be  that  of
                 the user being created or updated.
 
       This  command is intended to be used in a large system environment where many accounts are updated at a single
       time.
 
CAVEATS
       The input file must be protected since it contains unencrypted passwords.
 
SEE ALSO
       passwd(1), useradd(8)

Reply

Marsh Posté le 20-11-2004 à 14:24:58    

plus simple, utilise juste while et adduser et apres rulez.
 
 

while read ligne; do
        IFS=;
        set $ligne
        echo "useradd -d /home/$3/$8 -m -g $3 -p $(mkpasswd $mdp) $8 && edquota -p modele $8" >> script.sh
done < machin.csv


 
par exemple :o


Message édité par Zaib3k le 20-11-2004 à 14:26:08

---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 20-11-2004 à 14:38:10    

replacer l'IFS correctement aussi [:joce]

Reply

Marsh Posté le 20-11-2004 à 14:38:14    

arf merde, problème, je pensez avoir le tps de le faire mais j'ai plus que 2 jours... vous pouvez me donner un scripte qui coresspondà ce que je veu (si possible avec commentaire) et je tacherais de le comprendre plus tard...  
 
le nom de l'utilisateur est ds le prmier champ de la bdd
 
merci bien


Message édité par utopiaste le 20-11-2004 à 14:39:08
Reply

Marsh Posté le 20-11-2004 à 14:39:09    

black_lord a écrit :

replacer l'IFS correctement aussi [:joce]


 
sorti du script, IFS se remet tout seul :o


Message édité par Zaib3k le 20-11-2004 à 14:39:45

---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Marsh Posté le 20-11-2004 à 14:39:31    

utopiaste a écrit :

arf merde, problème, je pensez avoir le tps de le faire mais j'ai plus que 2 jours... vous pouvez me donner un scripte qui coresspondà ce que je veu (si possible avec commentaire) et je tacherais de le comprendre plus tard...  
 
le nom de l'utilisateur est ds le prmier champ de la bdd
 
merci bien


 
tu as deja tout. on va pas faire ton boulot non plus :o


---------------
Le droit à la différence s'arrête là où ça commence à m'emmerder sérieusement.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed