Script bash passwd

Fermé
seboost - 7 avril 2005 à 16:21
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 8 avril 2005 à 15:50
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.

2 réponses

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
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
8 avril 2005 à 15:50
echo user:motdepasse | chpasswd

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