Citaat:
Oorspronkelijk geplaatst door zazzybob
Dit is op een ESX 3.xx vak, maar je hebt een paar opties gekregen.
De eerste is om de - stdin optie te gebruiken om passwd, bijv.
Code:
# useradd -m -d /home/foo foo
# echo "foo" | passwd --stdin foo
Changing password for user foo.
passwd: all authentication tokens updated successfully.
Dit zou vereisen dat u het opslaan van de gewone tekst wachtwoord in uw script. A * veel * veiliger optie is om een gebruiker toe te voegen en het wachtwoord zoals u normaal op een standaard waarde, bijvoorbeeld instellen
Code:
# useradd -m -d /home/tmpuser tmpuser
# passwd tmpuser
...
Nu kunt u gebruik maken van de gecodeerde wachtwoord voor deze gebruiker bij het maken van andere rekeningen, zodat alle nieuw aangemaakte accounts hebben hetzelfde wachtwoord als "tmpuser", bijvoorbeeld
Code:
# useradd -m -d /home/newuser -p `awk -vFS=':' '$1 ~ /^tmpuser/ {print $2}' /etc/shadow` newuser
Sante,
ZB
|
Bedankt voor het antwoord. Ik zou eerder terug hebben geantwoord, maar nog niet de kans gekregen om het uit te proberen tot nu. Ik eigenlijk net als de - stdin optie. Het script eigenlijk niet zal worden met een gewone tekst wachtwoord. Wat ik zou willen doen is het genereren van een willekeurig wachtwoord in mijn script, en doorgeven aan - stdin.
Ik heb een probleem. Ik ben echt nieuw voor VMware ESX, maar ik was in staat om een klein script dat een wachtwoord genereert vinden. Hier is het:
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
Zoals u kunt zien, dat script doet is alle genereert het wachtwoord, en dan echo het uit. Maar ik heb nog nooit heb gezien waar je gewoon "echo" te gebruiken en niet zeggen wat hij moet echo. Maar wat variabele is mijn wachtwoord wordt opgeslagen in? Als het $-index, hoe kan ik het gebruiken met - stdin?
Het probleem komt als ik probeer om het te gebruiken, waardoor dit in mijn code:
Code:
# echo "$index" | passwd --stdin foo
omdat de "echo" is ook afdrukken van het wachtwoord, dus weet u hoe ik dit kan gebruiken om mijn voordeel?
Nogmaals bedankt voor je hulp.