Script bash passwd

seboost -  
sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   -
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. seboost
     
    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
  2. sebsauvage Messages postés 33284 Date d'inscription   Statut Modérateur Dernière intervention   15 684
     
    echo user:motdepasse | chpasswd

    le tout exécuté en tant que root, ça devrait faire l'affaire, normalement.
    0