- Création de comptes a partir d'un fichier txt [Shell] - Shell/Batch - Programmation
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
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
Marsh Posté le 12-08-2008 à 15:45:32
m3z a écrit : Euh je te propose un autre approche : |
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 |
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.
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
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