Passwd, modifier passwd via script shell

Résolu
Wssef Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 Greg -
Bonjour,

En utilisant les droits root, je cherche un moyen pour modifier un mot de passe d'une manière automatique en utilisant un script shell

Merci pour votre aide
A voir également:

7 réponses

isatis31
 
La commande suivante fonctionne sur AIX5.3 :

echo "$USERNAME:$USERNAME"|/usr/bin/chpasswd

L'utilisateur doit changer son password à la 1ere connexion. Pour contourner cela utiliser chpasswd -f NOCHECK
3
Uzzo
 
pwdadm -c $USER contourne très bien le problème aussi
0
Greg
 
Pour remplacer le mot de passe de l'utilisateur toto via un script on peut utiliser çà aussi

echo 'echo "toto:monMotDePasse" | chpasswd
2
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

En utilisant l'option "--stdin" de "passwd", tu peux changer le mot de passe de tes users de la façon suivante (on attribue le mot de passe "tata" à l'utilisateur toto) :
echo -e "tata\ntata" | (passwd --stdin toto)
En espérant que ce soit ce que tu voulais ;-))
0
wssef
 
Merci pour votre réponse,

J'ai testé votre commande sur un environement LINUX, la commande s'execute avec succès mais je n'arrive pas a me connecter avec le mot de passe attribué à l'utilisateur "toto", ni par le nouveau mot de passe ni par l'ancien. Sur un environement AIX (5.4), la commande ne passe pas, je reçois l'erreur suivante :

dev1:/ >echo -e "tata\ntata" | (passwd --stdin toto)
passwd: Option non reconnue : -
Syntaxe : passwd [-R module_chargement] [ -f | -s | -a ] [nom_utilisateur]
o¨ :
-f modifie les informations finger
-s modifie le shell de connexion.
-a modifie le mot de passe dans tous les modules.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Re-

Bon alors 2 ou 3 choses...

D'abord, est-ce que l'$USER toto existe ? (question c*n, mais c'est toujours les choses les plus évidentes qui fichent le boxon ;-)) )

Ensuite en ce qui concerne la commande "echo", couplée avec le paramètre "-e" c'est la commande externe (qui se trouve dans "/bin/echo") et non la commande interne du "bash" (echo).
Il se peut que sous AIX cette commande (/bin/echo) n'existe pas, d'où le message d'erreur.

Pour finir chez moi, le test avec l'$USER "toto" et le changement de mot de passe s'est effectué sans soucis ;-))
Test sur Mandriva 2006.
0
Wssef Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai trouvé une méthode plus simple :

contenu script test:
********** test.sh *********
#! bin/sh
echo "toto:tata" > ./pass.tmp
echo `cat ./pass.tmp | chpasswd`
echo `pwdadm -f NOCHECK $login`
*****************************

l'utilisateur toto va avoir tata comme mot de passe et n'aura pas besoin de re-saisir un nouveau mot de passe au moment de sa nouvelle connexion :)
0
survietamine
 
salut, quel est l'intérêt de passer par un fichier ?
0
gab_13
 
Bonjour,

Je débute sous unix, je cherche un script qui permet de changer le mot de passe de root sur plusieurs serveurs via une connexion ssh.

type de script :
1 - Saissir l'utilisateur qui doit changer de mot de passe
2 - Saissir son mot de passe
3 - changement du mot de passe de l'utilisateur (point N°1) sur le serveur N°1
4 - changement du mot de passe de l'utilisateur (point N°1) sur le serveur N°2
5 - changement du mot de passe de l'utilisateur (point N°1) sur le serveur N°3
6 - changement du mot de passe de l'utilisateur (point N°1) sur le serveur N°4

Merci d'avance de vos conseils et de vos réponses.
-2