Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 24 odgovora
  • 8.089 pregleda

Najnovija ↓

Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 10:43 · pre 238 meseci #1
Pozdrav,

Da li je moguce zakljucati lozinke svim userima na serveru? Naravno jednom komandom.
Kao sto mogu da zakljucam jednog:

passwd -l user
Potpis
...ko se jednom o mlijeko opece taj i u jogurt duva...
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 12:06 · pre 238 meseci #2
Napravi skripticu. Nesto kao
Code:
for i in `cat /etc/passwd | gawk '{FS = ":"} {print $1}`; do passwd -l $i; done;


Ne mogu da ti se zakunem da ce ti tacno ovo izlistati, provjeri prije. A gotovo sam siguran da postoji bolji i elegantniji nacin, ali ne mogu da se sjetim.
Potpis
Beneath civilization's fragile crust, cold chaos churns...
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 12:14 · pre 238 meseci #3
Znaci ne postoji neka komandica?
Dosta sam Googlao ali nisam nasao nista konkretno. Hvala u svakom slucaju.

Pozdrav.
Potpis
...ko se jednom o mlijeko opece taj i u jogurt duva...
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 15:34 · pre 238 meseci
izmenjeno 1 put, poslednji put VRider 02.04.2007. u 16:29
  1. VRider02.04.2007. u 16:29zapis iz teksta poruke
#4
@Tyler Durden: I ja sam slicno pomislio cim sam video temu, samo sa malom varijacijom. Umesto /etc/passwd, da potrebne usernameove dobijem iz /etc/shadow (da lockujem samo one naloge koji imaju definisan password).

cut -d':' -f 1,2 /etc/shadow --output-delimiter=" " | grep '\\$' | grep -v root | cut -d" " -f 1 | xargs passwd -l
Potpis
JaFreelancer.com
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 16:30 · pre 238 meseci #6
To je [es] koji buguje. :)
Ako stavim \$, onda ni ne prikaze "\" jer escapuje $ prilikom prikazivanja?? Pa sam stavio dva \\, ali sada prikaze oba. :)
Potpis
JaFreelancer.com
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 17:59 · pre 238 meseci #7
Mozda bi ovako bilo najjednostavije
Code:
#!/bin/sh
  for i in $( ls /home ); do
    passwd -l $i
  done


A za otkljucavanje svih isto to samo malo drugacije
Code:
#!/bin/sh
  for i in $( ls /home ); do
    passwd -u $i
  done
Potpis
Programmer is an organism that turns coffee into software.
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 18:03 · pre 238 meseci #8
Elem, imam par zamerki na tu komandu... Prva je da ako imaš korisnika "brootus", neće mu zaključati password. Druga zamerka je da ako imaš korisnika čiji password nije MD5 hash već crypt, ni njemu neće zaključati password. Isto tako, korisnik može da ima password u /etc/passwd, bez obzira na to što se koristi shadow password.

Ja bih ipak koristio malu varijaciju na temu Tylerove skripte:

Code:
for user in `cat /etc/passwd | egrep -v "^root:" | cut -d: -f1`; do echo passwd -l $user; done;


Izbaci "echo" viška iz komande, tu je kao failsafe ;-)

@unleaded: A šta sa korisnicima čiji home direktorijum nije u /home?

Marko.
Potpis
OV SM
LA PK
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 18:28 · pre 238 meseci #10
MD5 passwordi imaju format "$SALT$hash", dok crypt passwordi imaju format "SAhash", gde je SA dvoslovni salt. Kao što vidiš, ovi potonji nemaju $ u sebi :-). Tvoj grep ih neće pokupiti, ako je bila namera dela "grep '\\$'".

Marko.
Potpis
OV SM
LA PK
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 19:08 · pre 238 meseci #11
Citat:
A šta sa korisnicima čiji home direktorijum nije u /home?


Za uobicajene korisnike je dovoljno. Ako imas nekog posebno konfigurisanog,
onda naravno nije, no pitanje je da li takvim (posebnim) treba zakljucati
lozinku skriptom (filtrirajuci samo root-a) ili treba svakog posebno razmotriti i
eventualno odraditi zakljucavanje rucno (ili ih dodati na kraj skripte, svakog posebno).
Potpis
Programmer is an organism that turns coffee into software.
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 19:53 · pre 238 meseci
izmenjeno 1 put, poslednji put anrxc 02.04.2007. u 20:09
  1. anrxc02.04.2007. u 20:09zapis iz teksta poruke
#13
Opcenito pokrecete previse procesa, Tylerovo rijesenje je jos nekako najzgodnije, ali cemu cat? :)
awk -F ":" '!/^root:/ {print $1}' file

Mozemo li vidjeti nekakav perl one-liner? :)
Potpis
You need to install an RTFM interface.
Re: Komanda za zakljucavanje lozinki svih usera? 02.04.2007. u 23:06 · pre 238 meseci #14
Citat:
čisto da bi ti ls radio kako treba.

Mislis na ono kad dobijes "lista preduga" ili tako nekako i vrati prompt?
To nisam vidio od SCO-a (pfuj, pfuj, daleko bilo :).
U trenutnom okruzenju, samo na jednom serveru ima oko 1500 korisnika
(a nema ih vise od 2000) tako da ls radi normalno, svi ostali su sa manje.
Ako ih bude par desetina hiljada i svi da budu u jednom direktoriju zajedno
(moze do 32000) onda bi mozda moglo ovako
Code:
#!/bin/sh
cd /tamo/dje/vec/jesu
ls | xargs -n1 passwd -l

Na test racunaru radi, no on svakako nije valjan uzorak, a u realnim uslovima...
ako zatreba, probacemo :).
Potpis
Programmer is an organism that turns coffee into software.
Re: Komanda za zakljucavanje lozinki svih usera? 03.04.2007. u 06:30 · pre 238 meseci #15
izvinjavam se sto upadam sa "rookie" pitanjem, ali ucim linux polako, pa me zanima:

Da li se u Linuxu moze odrediti u kom dir-u i fajlu ce da se drze passwordi ili
je to nemoguce?
Ako jeste, koji su to direktorijumi i fajlovi u razlicitim distribucijama u kojima se
cuvaju lozinke?

I da li ima koja komanda koja ce na sistemu da ti kaze u kom fajlu se
cuvaju lozinke (dir/file), naravno, podrazumevam da imas root permisije?

Potpis
oligofrenolog
Re: Komanda za zakljucavanje lozinki svih usera? 03.04.2007. u 11:56 · pre 238 meseci #16
U mom slucaju su samo obicni korisnici, nema nekih posebno konfigurisanig korisnika. Naravno podrazumjeva se da ne zakljucam i root usera ako je to uopste moguce :). Sta da upisem ako mi se korisnici nalaze u home/ppp folderu?

Pozdrav
Potpis
...ko se jednom o mlijeko opece taj i u jogurt duva...
Re: Komanda za zakljucavanje lozinki svih usera? 03.04.2007. u 12:09 · pre 238 meseci #17
Citat:
markom: Pa recimo ako imaš par desetina hiljada korisnika, uobičajeno je da ih imaš u recimo /home/u/s/user. čisto da bi ti ls radio kako treba... ;-)

Marko.

Na dobrom si putu :) Ako imas nekoliko desetina hiljada korisnika, neces imati ni jedan passwd fajl, vec ces ih drzati u NIS-u, LDAP-u, ili necemu slicnom. Jedini pravilan nacin da dobijes spisak svih usera je da koristis getpwent() - koji ce ti vratiti listu svih korisnika na sistemu. Onda mozes tim korisnicima lockovati password po zelji. Sva ostala pretumbavanja passwd fajla podrazumevaju da je sve u tom fajlu, sto ne mora biti :).
Potpis
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
Re: Komanda za zakljucavanje lozinki svih usera? 03.04.2007. u 19:20 · pre 238 meseci #18
Citat:
nkrgovic: Na dobrom si putu :) Ako imas nekoliko desetina hiljada korisnika, neces imati ni jedan passwd fajl, vec ces ih drzati u NIS-u, LDAP-u, ili necemu slicnom.


Jedini pravi razlog za koriscenje NIS-a, LDAP-a, nekog DB-a, etc, za sistemske korisnike je ako oni moraju postojati na vise servera. Sve ostalo je nepotrebno komplikovanje.
Potpis
Aj prevedi!
Re: Komanda za zakljucavanje lozinki svih usera? 03.04.2007. u 22:10 · pre 238 meseci #19
Citat:
caiser: Jedini pravi razlog za koriscenje NIS-a, LDAP-a, nekog DB-a, etc, za sistemske korisnike je ako oni moraju postojati na vise servera. Sve ostalo je nepotrebno komplikovanje.

Ovaj, covek je pitao za zakljucavanje fizickih, ne sistemskih korisnika. Po mojoj logici ces bas njih i drzati u LDAP-u, zato i predlog da se koriste POSIX f-je koje prate ono sto stavis u nsswitch.conf, a ne rucno cackas po passwd fajlu.
Potpis
Please do not feed the Trolls!

Blasphemy? How can I blaspheme? I'm a god!'
Re: Komanda za zakljucavanje lozinki svih usera? 04.04.2007. u 10:29 · pre 238 meseci #20
Mislim da malo brkas pojmove. :) Sistemski korisnik je svaki korisnik za koga sistem zna. Sto znaci da se to odnosi i na korisnika root, i na korisnika nobody, i na korisnika pera.
Funkcija NIS-a, LDAP-a ili bilo cega drugog je olaksavanje administracije u velikim okruzenjima, dnosno cuvanje korisnika na jednom mestu. Tako da kada je potrebna neka izmena, brisanje ili novi unos to se ne radi na svakom serveru pojedinacno, vec na jednom centralnom mestu. A to raditi na jednom serveru je, sto bi se reklo, overkill. :)
Potpis
Aj prevedi!
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme