Prošlog kolovoza, Linux Foundation započela je LFCS certifikat (Linux Foundation Certified Sysadmin), potpuno novi program čija je svrha omogućiti pojedincima da posvuda i bilo gdje polažu ispit kako bi stekli osnovnu posredna operativna podrška za Linux sustave, koja uključuje podršku pokrenutih sustava i usluga, zajedno s cjelokupnim nadzorom i analiza, plus inteligentno donošenje odluka kako biste mogli odlučiti kada je potrebno prenijeti pitanja na timove za podršku više razine.
Brzo pogledajte sljedeći video koji opisuje uvod u program certificiranja Linux Foundation.
Ovaj članak je dio 8 dugog niza od 10 vodiča, ovdje u ovom odjeljku vodit ćemo vas kako to učiniti upravljati dopuštenjima korisnika i grupa u Linux sustavu koja su potrebna za ispit za certifikaciju LFCS.
Budući da je Linux višekorisnički operativni sustav (jer omogućuje više korisnika na različitim računalima ili terminalima pristup jednom sustavu), morat ćete znati kako učinkovito upravljati korisnicima: kako dodati, urediti, obustaviti ili izbrisati korisničke račune, zajedno s davanjem potrebnih dozvola za obavljanje dodijeljenih zadataka zadacima.
Da biste dodali novi korisnički račun, možete pokrenuti bilo koju od sljedeće dvije naredbe kao root.
# adduser [novi_račun] # useradd [novi_račun]
Kad se u sustav doda novi korisnički račun, izvode se sljedeće operacije.
1. Njegov/njezin kućni direktorij je kreiran (/home/username prema zadanim postavkama).
2. Sljedeće skrivene datoteke kopiraju se u kućni direktorij korisnika i upotrijebit će se za pružanje varijabli okruženja za njegovu korisničku sesiju.
.bash_logout. .bash_profile. .bashrc.
3. Spool pošte kreira se za korisnika na/var/spool/mail/Korisničko ime.
4. Grupa se stvara i dobiva isto ime kao i novi korisnički račun.
Potpuni podaci o računu pohranjeni su u /etc/passwd datoteka. Ova datoteka sadrži zapis po korisničkom računu sustava i ima sljedeći format (polja su omeđena dvotočkom).
[korisničko ime]: [x]: [UID]: [GID]: [Komentar]: [Kućni imenik]: [Zadana ljuska]
Podaci o grupi pohranjeni su u /etc/group datoteka. Svaki zapis ima sljedeći format.
[Naziv grupe]: [Zaporka grupe]: [GID]: [Članovi grupe]
Nakon dodavanja računa, možete urediti sljedeće podatke (da imenujete nekoliko polja) pomoću usermod naredba, čija je osnovna sintaksa usermod -a sljedeća.
# usermod [opcije] [korisničko ime]
Koristiti -rok trajanja zastavu iza koje slijedi datum GGGG-MM-DD format.
# usermod-istekao 2014-10-30 tecmint.
Koristite kombinirano -AG, ili -dodati- grupe opcije, nakon čega slijedi popis grupa odvojenih zarezima.
# usermod --append --groups root, korisnici tecmint.
Koristiti -d, ili -Dom opcije, nakon čega slijedi apsolutni put do novog matičnog direktorija.
# usermod --home /tmp tecmint.
Koristiti -ljuska, nakon čega slijedi put do nove ljuske.
# usermod --shell /bin /sh tecmint.
# grupe tecmint. # id tecmint.
Izvršimo sada sve gore navedene naredbe u jednom potezu.
# usermod --expiredate 2014-10-30 --append --groups root, users --home /tmp --shell /bin /sh tecmint.
U gornjem primjeru postavit ćemo datum isteka tecmint korisnički račun za 30. listopada 2014. Račun ćemo dodati i u korijen i grupa korisnika. Konačno, postavit ćemo š
kao zadanu ljusku i promijenite lokaciju matičnog direktorija u /tmp:
Pročitajte također:
Za postojeće račune možemo učiniti i sljedeće.
Koristiti -L (veliko slovo L) ili - zaključavanje mogućnost zaključavanja korisničke lozinke.
# usermod --lock tecmint.
Koristiti –U ili -otključati mogućnost otključavanja korisničke lozinke koja je prethodno bila blokirana.
# usermod --unlock tecmint.
Pokrenite sljedeći niz naredbi za postizanje cilja.
# groupadd common_group # Dodajte novu grupu. # chown: common_group common.txt # Promijenite vlasnika grupe common.txt u common_group. # usermod -aG common_group user1 # Dodajte user1 u common_group. # usermod -aG common_group user2 # Dodajte user2 u common_group. # usermod -aG common_group user3 # Dodajte user3 u common_group.
Grupu možete izbrisati sljedećom naredbom.
# groupdel [naziv_ grupe]
Ako postoje datoteke u vlasništvu grupno ime, neće se izbrisati, ali će se vlasnik grupe postaviti na GID grupe koja je izbrisana.
Osim osnovnih dozvola za čitanje, pisanje i izvršavanje o kojima smo govorili u Alati za arhiviranje i postavljanje atributa datoteke - 3. dio ove serije postoje i druge manje korištene (ali ne manje važne) postavke dopuštenja, koje se ponekad nazivaju i “posebna dopuštenja”.
Kao i osnovna dopuštenja o kojima smo ranije govorili, ona se postavljaju pomoću oktalne datoteke ili putem slova (simbolički zapis) koje označava vrstu dopuštenja.
Račun možete izbrisati (zajedno s njegovim matičnim direktorijem, ako je u vlasništvu korisnika, i sve datoteke koje se u njemu nalaze, kao i spool pošte) pomoću userdel naredba s -ukloniti opcija.
# userdel --remove [korisničko ime]
Svaki put kad se u sustav doda novi korisnički račun, stvara se grupa s istim imenom s korisničkim imenom kao jedinim članom. Ostali korisnici mogu se kasnije dodati u grupu. Jedna od svrha grupa je implementacija jednostavne kontrole pristupa datotekama i drugim resursima sustava postavljanjem odgovarajućih dopuštenja za te resurse.
Na primjer, pretpostavimo da imate sljedeće korisnike.
Svi oni trebaju čitati i pisati pristup datoteci tzv common.txt nalazi negdje na vašem lokalnom sustavu ili možda na mreži dijelite to korisnik1 je stvorio. Možda ćete doći u iskušenje da učinite nešto poput,
# chmod 660 common.txt. ILI. # chmod u = rw, g = rw, o = common.txt [uočite razmak između zadnjeg znaka jednakosti i naziva datoteke]
Međutim, to će samo pružiti čitati i pisati pristup vlasniku datoteke i onim korisnicima koji su članovi grupe vlasnika datoteke (korisnik1 u ovom slučaju). Opet, možda ćete doći u iskušenje da dodate korisnik2 i korisnik3 grupirati korisnik1, ali to će im također omogućiti pristup ostalim datotekama u vlasništvu korisnika korisnik1 i grupa korisnik1.
Tu grupe dobro dolaze, a evo što biste trebali učiniti u ovakvom slučaju.
Kada setuid dopuštenje se primjenjuje na izvršnu datoteku, korisnik koji pokreće program nasljeđuje učinkovite privilegije vlasnika programa. Budući da ovaj pristup može razumno izazvati sigurnosne zabrinutosti, broj datoteka sa dopuštenjem za setuid mora biti sveden na minimum. Programe s ovim postavljenim dopuštenjem vjerojatno ćete pronaći kada korisnik sustava mora pristupiti datoteci u vlasništvu korijena.
Ukratko, ne radi se samo o tome da korisnik može izvršiti binarnu datoteku, već i o tome da to može učiniti s root pravima. Na primjer, provjerimo dopuštenja za /bin/passwd. Ova binarna datoteka koristi se za promjenu lozinke računa i mijenja /etc/shadow datoteka. Superkorisnik može promijeniti bilo čiju lozinku, ali svi drugi korisnici trebali bi moći promijeniti samo svoju.
Stoga bi svaki korisnik trebao imati dopuštenje za pokretanje /bin/passwd, ali samo će root moći odrediti račun. Drugi korisnici mogu promijeniti samo odgovarajuće lozinke.
Kada setgid bit je postavljen, efektivan GID stvarnog korisnika postaje vlasnik grupe. Dakle, svaki korisnik može pristupiti datoteci pod privilegijama dodijeljenim vlasniku grupe takve datoteke. Osim toga, kada je setgid bit postavljen na imenik, novostvorene datoteke nasljeđuju istu grupu kao direktorij, a novostvoreni poddirektoriji također će naslijediti setgid bit roditelja imenik. Ovaj ćete pristup najvjerojatnije koristiti kad god članovi određene grupe trebaju pristup svim datotekama u direktoriju, bez obzira na primarnu grupu vlasnika datoteke.
# chmod g+s [naziv datoteke]
Za postavljanje setgid u oktalnom obliku, dodajte broj 2 trenutnim (ili željenim) osnovnim dopuštenjima.
# chmod 2755 [imenik]
Kada "ljepljivo malo”Postavljen je na datoteke, Linux ga jednostavno zanemaruje, dok za direktorije ima učinak sprječavanja korisnika od brisanja ili čak preimenovanja datoteka koje sadrži osim ako korisnik nije vlasnik imenika, datoteke ili nije korijen.
# chmod o+t [direktorij]
Za postavljanje ljepljivo malo u oktalnom obliku, dodajte broj 1 trenutnim (ili željenim) osnovnim dopuštenjima.
# chmod 1755 [imenik]
Bez ljepljivog bita, svatko tko može pisati u direktorij može izbrisati ili preimenovati datoteke. Iz tog razloga ljepljivi dio obično se nalazi u direktorijima, kao što je /tmp, koji se mogu upisivati u svijet.
Postoje i drugi atributi koji omogućuju daljnja ograničenja operacija koje su dopuštene nad datotekama. Na primjer, spriječite preimenovanje, premještanje, brisanje ili čak izmjenu datoteke. Postavljeni su sa naredba chattr i mogu se vidjeti pomoću lsattr alat, kako slijedi.
# chattr +i datoteka1. # chattr +datoteka2.
Nakon izvršavanja te dvije naredbe, datoteka1 bit će nepromjenljiv (što znači da se ne može premjestiti, preimenovati, izmijeniti ili izbrisati) dok datoteka 2 će ući u način rada samo za dodavanje (može se otvoriti samo u načinu dodavanja za pisanje).
Jedan od načina na koji korisnici mogu dobiti pristup root računu je upisivanjem.
$ su.
a zatim unesite root lozinku.
Ako autentifikacija uspije, bit ćete prijavljeni kao korijen s trenutnim radnim imenikom istim kao što ste bili i prije. Ako umjesto toga želite biti smješteni u početni direktorij root -a, pokrenite.
$ su -
a zatim unesite lozinku korisnika.
Gore navedeni postupak zahtijeva da normalni korisnik zna root lozinku, što predstavlja ozbiljan sigurnosni rizik. Iz tog razloga, sysadmin može konfigurirati sudo naredba koja dopušta običnom korisniku da izvršava naredbe kao različiti korisnik (obično superkorisnik) na vrlo kontroliran i ograničen način. Dakle, ograničenja se mogu postaviti korisniku kako bi mu se omogućilo pokretanje jedne ili više posebnih privilegiranih naredbi, a ne drugih.
Pročitajte također: Razlika između su i sudo korisnika
Za autentifikaciju koristite sudo, korisnik koristi svoju lozinku. Nakon unosa naredbe, od nas će se zatražiti naša lozinka (ne lozinka superkorisnika) i ako je provjera autentičnosti uspješna (i ako su korisniku dodijeljene ovlasti za pokretanje naredbe), navedena naredba se provodi.
Da bi odobrio pristup sudo -u, administrator sustava mora urediti datoteku /etc/sudoers datoteka. Preporuča se uređivanje ove datoteke pomoću visudo naredbu umjesto da je otvorite izravno uređivačem teksta.
# visudo.
Ovo otvara /etc/sudoers datoteku pomoću vim (možete slijediti upute date u Instalirajte i koristite vim kao uređivač - 2. dio ove serije za uređivanje datoteke).
Ovo su najrelevantnije linije.
Zadane postavke secure_path = "/usr/sbin:/usr/bin:/sbin" korijen ALL = (SVE) ALL. tecmint ALL =/bin/yum ažuriranje. gacanepa ALL = NOPASSWD:/bin/updatedb. %admin ALL = (SVE) SVE.
Pogledajmo ih pobliže.
Zadane postavke secure_path = "/usr/sbin:/usr/bin:/sbin:/usr/local/bin"
Ovaj redak omogućuje vam da odredite direktorije koji će se koristiti za sudo, a koristi se za sprječavanje upotrebe direktorija specifičnih za korisnike, što može naštetiti sustavu.
Sljedeći retci koriste se za navođenje dopuštenja.
korijen ALL = (SVE) ALL.
tecmint ALL =/bin/yum ažuriranje.
Ako nakon datoteke nije naveden nijedan korisnik = znak, sudo pretpostavlja root korisnika. U ovom slučaju korisnik tecmint moći će trčati yum update kao korijen.
gacanepa ALL = NOPASSWD:/bin/updatedb.
The NOPASSWD Direktiva omogućuje korisniku gacanepa pokretanje /bin/updatedb bez potrebe za unošenjem lozinke.
%admin ALL = (SVE) SVE.
The % znak označava da se ovaj redak odnosi na grupu pod nazivom „admin”. Značenje ostatka retka identično je značenju običnog korisnika. To znači da su članovi grupe „admin”Može pokrenuti sve naredbe kao bilo koji korisnik na svim hostovima.
Da biste vidjeli koje vam privilegije sudo dodjeljuje, upotrijebite "-l”Mogućnost da ih navedete.
Moduli za provjeru autentičnosti koji se mogu priključiti (PAM) nude fleksibilnost postavljanja posebne sheme provjere autentičnosti prema aplikaciji i / ili po usluzi pomoću modula. Ovaj alat prisutan u svim modernim distribucijama Linuxa prevladao je problem s kojim su se programeri često susretali u prvim danima Linux, kada je svaki program koji je zahtijevao provjeru autentičnosti morao biti posebno sastavljen kako bi se znalo kako doći do potrebnog informacija.
Na primjer, s PAM -om nije važno je li vaša lozinka pohranjena u /etc/shadow ili na zasebnom poslužitelju unutar vaše mreže.
Na primjer, kada program za prijavu treba autentificirati korisnika, PAM dinamički pruža knjižnicu koja sadrži funkcije za ispravnu shemu provjere autentičnosti. Stoga je lako promijeniti shemu provjere autentičnosti za prijavu (ili bilo koji drugi program koji koristi PAM) budući da uključuje samo uređivanje konfiguracijske datoteke (najvjerojatnije, datoteka nazvana prema aplikaciji, koja se nalazi unutra /etc/pam.d
, a manje vjerojatno u /etc/pam.conf
).
Datoteke unutra /etc/pam.d
označiti koje aplikacije izvorno koriste PAM. Osim toga, možemo provjeriti koristi li određena aplikacija PAM provjerom je li to PAM knjižnica (libpam) je povezan s njim:
# ldd $ (koja prijava) | grep libpam # login koristi PAM. # ldd $ (koji vrh) | grep libpam # top ne koristi PAM.
Na gornjoj slici možemo vidjeti da je libpam je povezan s aplikacijom za prijavu. To ima smisla jer je ova aplikacija uključena u rad autentifikacije korisnika sustava, dok vrh ne.
Pogledajmo ima li PAM konfiguracijske datoteke passwd -da, poznati alat za promjenu korisničkih lozinki. Nalazi se na adresi /etc/pam.d/passwd:
# mačka /etc /passwd.
Prvi stupac označava tip
provjere autentičnosti koja će se koristiti s modul-putanja
(treći stupac). Kad se crtica pojavi ispred tipa, PAM neće snimati u zapisnik sustava ako se modul ne može učitati jer se ne može pronaći u sustavu.
Dostupne su sljedeće vrste autentifikacije:
račun
: ovaj tip modula provjerava jesu li korisnik ili usluga dali valjane vjerodajnice za provjeru autentičnosti.auth
: ovaj tip modula potvrđuje da je korisnik ono za što se predstavlja i daje sve potrebne privilegije.lozinka
: ova vrsta modula omogućuje korisniku ili usluzi ažuriranje lozinke.sjednica
: ovaj tip modula označava što treba učiniti prije i/ili nakon uspješne provjere autentičnosti.Drugi stupac (tzv kontrolirati
) pokazuje što bi se trebalo dogoditi ako autentifikacija s ovim modulom ne uspije:
potreban
: ako autentifikacija putem ovog modula ne uspije, cjelokupna autentifikacija bit će odmah odbijena.potreban
sličan je potrebnom, iako će se svi drugi navedeni moduli za ovu uslugu pozvati prije odbijanja provjere autentičnosti.dovoljan
: ako autentifikacija putem ovog modula ne uspije, PAM će i dalje odobriti autentifikaciju čak i ako prethodna označena kao potrebna nije uspjela.izborno
: ako autentifikacija putem ovog modula ne uspije ili uspije, ništa se neće dogoditi ako ovo nije jedini modul svoje vrste definiran za ovu uslugu.uključuju
znači da retke danog tipa treba čitati iz druge datoteke.podskup
slično je uključivanju, ali neuspjesi ili uspjesi autentifikacije ne uzrokuju izlaz cijelog modula, već samo podgrupe.Četvrti stupac, ako postoji, prikazuje argumente koje treba proslijediti modulu.
Prva tri retka u /etc/pam.d/passwd (prikazano gore), učitajte sustav-auth modul za provjeru je li korisnik dostavio valjane vjerodajnice (račun). Ako je tako, dopušta mu / joj da promijeni token za provjeru autentičnosti (lozinku) dajući dopuštenje za korištenje passwd (auth).
Na primjer, ako dodate
zapamti = 2.
na sljedeći redak
lozinka dovoljna pam_unix.so sha512 sjena nullok try_first_pass use_authtok.
u /etc/pam.d/system-auth:
lozinka dovoljna pam_unix.so sha512 sjena nullok try_first_pass use_authtok zapamti = 2.
zadnje dvije hashirane lozinke svakog korisnika spremljene su u /etc/security/opasswd tako da se ne mogu ponovno koristiti:
Učinkovite vještine upravljanja korisnicima i datotekama bitni su alati svakog administratora sustava. U ovom smo članku obradili osnove i nadamo se da ga možete koristiti kao dobru polaznu točku na kojoj možete nadograđivati. Ostavite svoje komentare ili pitanja ispod, a mi ćemo vam brzo odgovoriti.