[Shell] - Création de comptes a partir d'un fichier txt

- Création de comptes a partir d'un fichier txt [Shell] - Shell/Batch - Programmation

Marsh Posté le 12-08-2008 à 09:22:15    

Hello,

 

Je cherche à faire un script sous Debian qui me créée x utilisateurs a partir d'un fichier texte.

 

le format du fichier est
login;password;is_root
ce qui donne pour un utilisateur classique
- user1;monpassword123;0
et pour un root
- userroot1;monpassword123;1

 

Comme je veux entièrement automatiser l'affaire, il faut que j'encrypte le mot de passe lors du useradd...
j'ai trouvé cette commande : $ perl -e 'print crypt("password", "salt" ),"\n"'
mais y a t'il qqh au niveau du shell pour faire la même chose ?

 


EDIT : et pourquoi faut-il toujours commencer un script par #!/bin/bash ?


Message édité par darxmurf le 12-08-2008 à 09:26:53

---------------
Des trucs - flickr - Instagram
Reply

Marsh Posté le 12-08-2008 à 09:22:15   

Reply

Marsh Posté le 12-08-2008 à 12:22:08    

Pour ton edit c'est pour signifier au shell qui va executer le script qu'il faut utiliser bash pour executer le script. (tu pourrait utiliser d'autre shell comme zsh, tsh ...)
Sinon si ta commande perl marche rien ne t'empeche de l'utiliser dans ton script shell. $() existe pour executer des "sous shell" et tu peux meme recuperer le resultat :
password = $(perl -e 'print crypt("password", "salt" ), )  
te sauvegardera dans $password le résultat de ta commande perl.
Mais si tu cherche a créer des utilisateurs dans /etc/password (et /etc/shadow) je doute que ta commande perl marche parceque dans mes souvenirs il n'y a pas de salt dans ces fichiers. Donc il faudra que tu trouve une autre commande :)
Tu devrait trouver ton bonheur avec les commandes suivantes :
apropos password
apropos crypt
apropos md5
man adduser
man useradd
man /etc/shadow
man /etc/password


Message édité par h4rold le 12-08-2008 à 12:23:19
Reply

Marsh Posté le 12-08-2008 à 13:31:59    

gromf visiblement c'est pas si simple d'encrypter un mot de passe [:paysan]


---------------
Des trucs - flickr - Instagram
Reply

Marsh Posté le 12-08-2008 à 15:40:10    

Euh je te propose un autre approche :
 
Pourquoi s'embeter à faire ce que adduser fait très bien.
Appel addusers avec les bonnes infos pour chaque ligne du fichier source.  
Perso j'utiliserai gawk

Message cité 1 fois
Message édité par m3z le 12-08-2008 à 15:40:29
Reply

Marsh Posté le 12-08-2008 à 15:45:32    

m3z a écrit :

Euh je te propose un autre approche :
 
Pourquoi s'embeter à faire ce que adduser fait très bien.
Appel addusers avec les bonnes infos pour chaque ligne du fichier source.  
Perso j'utiliserai gawk


 
Je me souvient que c'est coton de lui faire avaler un mot de passe. (pour adduser)
Le mieux est amha d'utiliser adduser pour créer un user sans mdp et d'ensuite rajouter le mdp à la main dans le fichier
 
[edit de post]
 
Quoique je dit des betises le man de useradd m'a donné quelque chose d'intéréssant :
 

Citation :

      -p, --password PASSWORD
           The encrypted password, as returned by crypt(3). The default is to disable the account.


Le man de crypt donnait juste une fonction C
 
Cepedannt apropos crypt donne une réponse intéressante :

Citation :

mkpasswd (1)         - Overfeatured front end to crypt(3)


Si tu lit le man c'est exactement ce que tu veux.
 
Donc useradd et mkpasswd devrait te convenir largement et ca devrait se crypter facilement.


Message édité par h4rold le 12-08-2008 à 15:51:14
Reply

Marsh Posté le 12-08-2008 à 16:06:06    

mon apropos crypt me retourne  
gpg(1)
shadow(5)
 
[:gnub] pourtant quand je tappe mkpasswd il passe ! [:paysan]


---------------
Des trucs - flickr - Instagram
Reply

Marsh Posté le 12-08-2008 à 16:09:20    

tu ne doit pas avoir les manpages des développeurs.
Si tu es sous Debian / Ubuntu :
(sudo) aptitude install manpages-dev
 
Sinon cherche le paquet manpages-dev

Reply

Sujets relatifs:

Leave a Replay

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