Sitat:
Originally Posted by zazzybob
Dette er på en ESX 3.xx boksen, men du har noen alternativer.
Den første er å bruke - stdin muligheten til passwd, f.eks
Code:
# useradd -m -d /home/foo foo
# echo "foo" | passwd --stdin foo
Changing password for user foo.
passwd: all authentication tokens updated successfully.
Dette ville kreve at lagring av ren tekst passordet i skriptet. A * mye * tryggere alternativ er å legge til en bruker, og angi passordet som du vanligvis ville gjort til en standard verdi, f.eks
Code:
# useradd -m -d /home/tmpuser tmpuser
# passwd tmpuser
...
Nå kan du bruke krypterte passord for denne brukeren når du oppretter andre kontoer, slik at alle nyopprettede kontoer har samme passord som "tmpuser", f.eks
Code:
# useradd -m -d /home/newuser -p `awk -vFS=':' '$1 ~ /^tmpuser/ {print $2}' /etc/shadow` newuser
Skål,
ZB
|
Takk for svar. Jeg ville ha svarte tilbake før, men har ikke fått en sjanse til å prøve det ut til nå. Jeg faktisk liker - stdin alternativet. Skriptet faktisk ikke holde en ren tekst passord. Hva jeg ønsker å gjøre er å generere et tilfeldig passord på skriften min, og gi det til - stdin.
Jeg har ett problem. Jeg er virkelig nytt for VMware ESX, men jeg klarte å finne et lite skript som genererer et passord. Her står det:
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
Som du kan se, at scriptet gjør er alle generere passord, og deretter ekko den ut. Men jeg har aldri sett hvor du kan bare bruke "ekko" og ikke fortelle det hva jeg skal ekko. Så hva variabelen er passordet mitt blir lagret i? Hvis det er $ indeks, så hvordan kan jeg bruke den med - stdin?
Problemet kommer når jeg prøver å bruke det, sette dette i koden min:
Code:
# echo "$index" | passwd --stdin foo
fordi "ekko" er også å skrive ut passord, så vet du hvordan jeg kan bruke dette til min fordel?
Takk for din hjelp.