Passwd, modifier passwd via script shell

Résolu
Wssef Messages postés 2 Statut Membre -  
 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

7 réponses

  1. 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
    1. Uzzo
       
      pwdadm -c $USER contourne très bien le problème aussi
      0
  2. Greg
     
    Pour remplacer le mot de passe de l'utilisateur toto via un script on peut utiliser çà aussi

    echo 'echo "toto:monMotDePasse" | chpasswd
    2
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  7. Wssef Messages postés 2 Statut Membre
     
    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
    1. survietamine
       
      salut, quel est l'intérêt de passer par un fichier ?
      0
  8. 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