Citat:
Ursprungligen postat av zazzybob
Detta är en ESX 3.xx låda, men du har ett par alternativ.
Den första är att använda - stdin möjlighet att passwd, t.ex.
Kod:
# useradd -m -d /home/foo foo
# echo "foo" | passwd --stdin foo
Changing password for user foo.
passwd: all authentication tokens updated successfully.
Detta skulle kräva att du lagrar oformaterad text lösenord i ditt skript. A * mycket * säkrare alternativ är att lägga till en användare och ange lösenordet som du normalt skulle till ett schablonvärde, t.ex.
Kod:
# useradd -m -d /home/tmpuser tmpuser
# passwd tmpuser
...
Nu kan du använda krypterade lösenord för den här användaren när du skapar andra konton, så att alla nyskapade konton har samma lösenord som "tmpuser", t.ex.
Kod:
# useradd -m -d /home/newuser -p `awk -vFS=':' '$1 ~ /^tmpuser/ {print $2}' /etc/shadow` newuser
Skål,
ZB
|
Tack för svaret. Jag skulle ha svarat tillbaka förr, men har inte fått en chans att prova det tills nu. Jag verkligen gillar - stdin alternativet. Skriptet faktiskt kommer inte att hålla en vanlig text lösenord. Vad jag skulle vilja göra är att generera ett slumpmässigt lösenord i mitt manus, och skicka det till - stdin.
Jag har bara ett problem. Jag är verkligen nytt för VMware ESX, men jag lyckades hitta ett litet skript som genererar ett lösenord. Här är det:
Kod:
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
Som ni ser, detta skript gör är att alla generera lösenord och sedan upprepa det. Men jag har aldrig sett där du bara kan använda "echo" och inte berätta det vad som eko. Så vad variabel är mitt lösenord sparas i? Om det är $ index, hur kan jag använda den med - stdin?
Problemet kommer när jag försöker använda den, sätta detta i min kod:
Kod:
# echo "$index" | passwd --stdin foo
eftersom "eko" är också att skriva ut lösenordet, så vet du hur jag kan använda detta till min fördel?
tack igen för din hjälp.