The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
SSH ledetekster passord for ikke identisk brukere vjkatsun UNIX for Advanced & ekspertbrukere 5 06-02-2008 01:18
Modificar Perl-skript til å arbeide med txt - Tillatelser script joangopan Shell programmering og Skripting 1 09-12-2007 11:38
Har brukerne endret sine passord annemar UNIX for Dummies Spørsmål og svar 6 09-20-2006 04:18
listen passord for alle brukere irasela UNIX Desktop for Dummies Spørsmål og svar 3 08-17-2006 02:40
Innstilling passord restriksjoner for alle brukere drathbone UNIX for Dummies Spørsmål og 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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-15-2007
paqman paqman is offline
Registrert bruker
  
 

Bli Dato: juli 2007
Innlegg: 21
Endre brukernes passord via script?

Ok, først av, jeg jobber på en VMware ESX Server, som jeg antar er løst basert off av Red Hat 9. Men jeg er helt ny på det (i dag), så vær hyggelig.

Jeg prøver å skrive et useradd skript som vil skape noen brukere, generere et passord, og sette sitt passord til dette nylig genererte passord.

Nå hånd, kan jeg bruke useradd kommandoen, og deretter bruke passwd for å endre passordet sitt. Men hvis jeg må sette opp et par hundre brukere, dette er ikke morsomt.

Så hvis jeg ikke kan bruke passwd i et skript (fordi det krever brukermedvirkning), hvordan kan jeg lage disse brukerne med en viss standard passordet?
  #2 (permalink)  
Old 08-15-2007
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Registrert Geek
  
 

Bli Dato: desember 2003
Sted: Melbourne, Australia
Innlegg: 2100
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
  #3 (permalink)  
Old 08-21-2007
paqman paqman is offline
Registrert bruker
  
 

Bli Dato: juli 2007
Innlegg: 21
Sitat:
Originally Posted by zazzybob View Post
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.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:46.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0