Script bash passwd

bonjour j'essay de faire un script qui change les mots de passe des utilisateurs linux. Le problème est que je ne sais pas comment faire pour passer le mot de passe dans le script.
Le script commence par exemple comme ceci:
passwd user

et donc quand je lance le script ensuite je dois tapper le mot de passe manuellement et moi je voudrai qu'il soit dans le script.

Ou bien autre solution à la création de l'utilisateur normalement il y a l'option -p pour password mais lorsque que je fais par exemple -p 123456
et qu'ensuite je me log avec l'utilisateur créé il ne se logge pas??
Merci d'avance pour votre aide.
Configuration: red hat

2 réponses

  1. Modérateur
    echo user:motdepasse | chpasswd

    le tout exécuté en tant que root, ça devrait faire l'affaire, normalement.
    0
    1. Salut, j'arrive à faire un script qui change un mot de passe

      passwd --stdin essai <<PASSWD
      test
      PASSWD
      mais lorsque je l'intégre dans mon script général j'ai une erreur
      ./test.sh: line 24: syntax error: unexpected end of file

      la ligne 24 est la fin du script. Sans cette partie le script fonctionne parfaitement

      #!/bin/sh

      IFS="
      "

      USER=`cat $1`
      for i in $USER; do
      wUSER=`echo $i | cut -d : -f 1`
      wUID=`echo $i | cut -d : -f 3`

      if [ $wUID -gt 10000 ]; then
      useradd -n -u $wUID -g users -m -k /etc/skel -s /bin/bash $wUSER
      passwd --stdin $wUSER <<PASSWD
      test
      PASSWD
      fi
      done

      pouvez vous m'aider? merci.
      1