The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
SSH uppmanas lösenord för icke identiska användare vjkatsun UNIX för avancerade & Expertanvändare 5 06-02-2008 01:18
Ändra Perl-skript för att arbeta med txt - Tillåtelser script joangopan Shell-programmering och Skript 1 09-12-2007 11:38
Har användare bytt lösenord annemar UNIX for Dummies Frågor & Svar 6 09-20-2006 04:18
Listan lösenordet för alla användare irasela UNIX Desktop for Dummies Frågor & Svar 3 08-17-2006 02:40
Ställa in lösenord restriktioner för alla användare drathbone UNIX for Dummies Frågor & Svar 2 03-03-2006 08:02

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 08-15-2007
paqman paqman is offline
Registered User
  
 

Join Date: Jul 2007
Inlägg: 21
Ändra användare lösenord via script?

Ok, först ut, jag arbetar på en VMware ESX Server, som jag antar är löst baserad bort av Red Hat 9. Men jag är helt ny för att det (idag), så be nice.

Jag försöker skriva en useradd skript som skapar en viss användare, skapa ett lösenord och ange sitt lösenord för att denna nyligen genererade lösenord.

Nu för hand, kan jag använda useradd kommando, och sedan använda passwd för att byta lösenord. Men om jag måste ställa upp ett par hundra användare, detta är inte speciellt trevligt.

Så om jag inte kan använda passwd i ett skript (eftersom det kräver användarens medverkan), hur kan jag skapa dessa användare med några försummelsen lösenord?
  #2 (permalänk)  
Old 08-15-2007
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Registrerad Geek
  
 

Join Date: Dec 2003
Ort: Melbourne, Australien
Inlägg: 2100
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
  #3 (permalänk)  
Old 08-21-2007
paqman paqman is offline
Registered User
  
 

Join Date: Jul 2007
Inlägg: 21
Citat:
Ursprungligen postat av zazzybob View Post
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.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:19.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0