Jump to content

[Resolu]Aide script bash


Recommended Posts

Bonjour à tous, je viens de finaliser un petit script d'ajout utilisateur puis paramétrage de postfix (fetchmail et table virtual) pour nos admins non linuxien

Je me trouve confronté a un petit soucis avec le password de l'utilsateur:

echo "saisissez le nom de l'utilisateur a ajouter"
read vnom
echo "saisissez le mot de passe de l'utilisateur"
read pass


useradd -p $pass $vnom
..........

donc la variable -p $pass ne passe pas et je suis obligé de modifier le mot de passa à la mano...Surement du au crypatge mais y a t'il une possibilité de passer outre??

Par avance merci, je continue mes recherches....

++

Link to comment
Share on other sites

Bonjour à tous, je viens de finaliser un petit script d'ajout utilisateur puis paramétrage de postfix (fetchmail et table virtual) pour nos admins non linuxien

Je me trouve confronté a un petit soucis avec le password de l'utilsateur:

echo "saisissez le nom de l'utilisateur a ajouter"
read vnom
echo "saisissez le mot de passe de l'utilisateur"
read pass


useradd -p $pass $vnom
..........

donc la variable -p $pass ne passe pas et je suis obligé de modifier le mot de passa à la mano...Surement du au crypatge mais y a t'il une possibilité de passer outre??

Par avance merci, je continue mes recherches....

++

Le mot de passe doit etre dans sa forme cryptée.

passwd = $(openssl passwd -1 $pass)

useradd -p $passwd $vnom

-1 = mot de passe au format shadow

-crypt = mot de passe sans shadow

Tuxbubling

Link to comment
Share on other sites

Re,

merci pour cette reponse mais ca ne passe pas :ouioui:

passwd : Utilisateur = inconnu

dans ce script:

echo "saisissez le nom de l'utilisateur a ajouter"
read vnom
echo "saisissez le mot de passe de l'utilisateur"
read pass
#echo "l'utilsateur $nom a comme mot de passe $pass"
echo "saisisez son adresse mail"
read mail

passwd = $(openssl passwd -1 $pass)
useradd -p $pass $vnom

surement une erreur ou une variable mal placé, je cherche...si quelqu'un voit la soluc' :-D

:transpi:

++

Link to comment
Share on other sites

Re,

merci pour cette reponse mais ca ne passe pas :ouioui:

passwd : Utilisateur = inconnu

dans ce script:

echo "saisissez le nom de l'utilisateur a ajouter"
read vnom
echo "saisissez le mot de passe de l'utilisateur"
read pass
#echo "l'utilsateur $nom a comme mot de passe $pass"
echo "saisisez son adresse mail"
read mail

passwd = $(openssl passwd -1 $pass)
useradd -p $pass $vnom

surement une erreur ou une variable mal placé, je cherche...si quelqu'un voit la soluc' :-D

:transpi:

++

PASSWD=$(openssl passwd -1 $pass)

useradd -p $PASSWD $vnom

il t'as lancé la commande 'passwd' en fait ^^ (les espaces en trop :))

variante:

pass=$(openssl passwd -1 $pass)

useradd -p $pass $vnom

Link to comment
Share on other sites

D'après le "man useradd" le paramètre -p password ne peut qu'utiliser le mot de passe de type crypt.

Donc un

passwd = $(openssl passwd -crypt $pass)

useradd -p $passwd $vnom

semble être la seule possibilité !

Mais pourquoi pas faire en 2 étapes si ça ne marche pas...

Le useradd et ensuite un passwd.

echo "saisissez le nom de l'utilisateur a ajouter"
read vnom
echo "saisisez son adresse mail"
read mail

useradd $vnom
passwd $vnom

de plus, tu pourras avoir les options de passwd (expiration du compte -n et -x, expiration du mot de passe -i)

NOTE: Il est possible de capter ton mot de passe avec un read également, mais il faute que tu ajoutes un "Enter" après passwd $vnom et je ne me rappelle plus de comment l'écrire et je n'ai pas mes notes.

Link to comment
Share on other sites

Ca ne me derangeait pas de le faire en plusieurs etapes, le seul soucis en faisant un

passwd $vnom

c'etait de pseudo taper 2 fois le mot de passe et de le valider autant de fois.... Je pensais bien que la variable -p du useradd devait m'aider mais qu'une astuce etait necessaire.....

Maintenant tout est ok, et fonctionnel :fou:

++

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...