Citation:
Posté par zazzybob
C'est sur un ESX 3.xx boîte, mais vous avez un peu d'options.
La première consiste à utiliser l'option - stdin option de passwd, par exemple,
Code:
# useradd -m -d /home/foo foo
# echo "foo" | passwd --stdin foo
Changing password for user foo.
passwd: all authentication tokens updated successfully.
Il faudrait pour cela que vous le stockage du mot de passe en texte clair dans votre script. A * beaucoup * plus sûr option consiste à ajouter un utilisateur et de mot de passe comme vous le feriez normalement pour une valeur standard, par exemple,
Code:
# useradd -m -d /home/tmpuser tmpuser
# passwd tmpuser
...
Maintenant, vous pouvez utiliser le mot de passe crypté pour cet utilisateur lors de la création d'autres comptes, de sorte que tous les comptes nouvellement créés ont le même mot de passe comme «tmpuser", par exemple
Code:
# useradd -m -d /home/newuser -p `awk -vFS=':' '$1 ~ /^tmpuser/ {print $2}' /etc/shadow` newuser
À la vôtre,
ZB
|
Merci pour la réponse. J'aurais répondu retour plus tôt, mais qui n'ont pas eu la chance d'essayer jusqu'à maintenant. J'ai vraiment la - stdin option. Le script ne sera pas effectivement tenue d'un mot de passe en texte clair. Ce que je voudrais faire est de générer un mot de passe dans mon script, et la transmettre à - stdin.
J'ai juste un problème. Je suis vraiment nouveau à Vmware ESX, mais j'ai été capable de trouver un petit script qui génère un mot de passe. La voici:
Code:
MAXSIZE=8
array1=(
q w e r t y u i o p a s d f g h j k l z x c v b n m
)
MODNUM=${#array1[*]}
pwd_len=0
while [ $pwd_len -lt $MAXSIZE ]
do
index=$(($RANDOM%$MODNUM))
echo -n "${array1[$index]}"
((pwd_len++))
echo
done
Comme vous pouvez le voir, tout ce script ne fait que générer le mot de passe, puis il en écho. Mais je n'ai jamais vu où vous pouvez simplement utiliser "echo" et de ne pas lui dire ce que se faire l'écho. Alors que la variable est mon mot de passe sont stockés dans? Si l'indice de dollars, alors comment puis-je utiliser avec - stdin?
Le problème vient lorsque j'essaie de l'utiliser, les mettre dans mon code:
Code:
# echo "$index" | passwd --stdin foo
parce que le "echo" est également d'imprimer le mot de passe, si vous savez comment je peux utiliser à mon avantage?
merci encore pour votre aide.