Nov 3, 2023

Podešavanje prava pristupa

 Da biste podesili prava pristupa (permissions) na Linux sistemu, koristite komandu chmod. Prava pristupa određuju ko može da čita, piše ili izvršava određeni fajl ili direktorijum. Evo kako koristiti komandu chmod:

  1. Sintaksa komande chmod:

    chmod [opcije] prava fajl_ili_direktorijum

    Gde su:

    • opcije: Opcioni argumenti komande, kao što su -R za rekurzivno menjanje prava za direktorijume i fajlove unutar datog direktorijuma.
    • prava: Specifikacija prava u obliku brojeva ili simbola. Koristi se za definisanje prava za vlasnika (owner), grupu (group) i ostale (others).
    • fajl_ili_direktorijum: Putanja do fajla ili direktorijuma za koje želite da promenite prava.
  2. Korišćenje brojeva za prava:

    Prava se obično definišu brojevima. Svaka kombinacija prava ima svoju numeričku vrednost:

    • 4: Dozvola za čitanje (read).
    • 2: Dozvola za pisanje (write).
    • 1: Dozvola za izvršavanje (execute).
    • 0: Bez dozvole.

    Prava za vlasnika, grupu i ostale se obično definišu kao trocifreni brojevi. Prva cifra predstavlja prava vlasnika, druga cifra prava grupe, a treća cifra prava ostalih. Na primer, chmod 755 fajl.txt postavlja prava tako da vlasnik može da čita, piše i izvršava fajl, dok grupa i ostali mogu samo da čitaju i izvršavaju fajl.

  3. Korišćenje simbola za prava:

    Prava se takođe mogu definisati korišćenjem simbola. Osnovni simboli za prava uključuju:

    • +: Dodaj prava.
    • -: Ukloni prava.
    • =: Postavi prava na tačno navedene vrednosti.

    Na primer, chmod u+rwx,g+rx,o+r fajl.txt dodaje vlasniku prava za čitanje, pisanje i izvršavanje, grupi prava za čitanje i izvršavanje, a ostalima pravo za čitanje fajla.

  4. Primeri:

    • Postavljanje prava tako da samo vlasnik može da izvršava skriptu:

      chmod 700 skripta.sh
    • Dodeljivanje prava za čitanje i pisanje vlasniku i grupi:

      chmod u+rw,g+rw fajl.txt
    • Uklanjanje prava za izvršavanje od svih korisnika osim vlasnika:

      chmod go-x fajl.txt
    • Rekurzivna promena prava za sve fajlove i direktorijume u određenom direktorijumu:

      chmod -R 755 /putanja/do/direktorijuma

Podesite prava pažljivo, jer nepravilno postavljena prava mogu dovesti do bezbednosnih problema ili problema sa funkcionalnošću. Preporučuje se da pravilno razumete i primenjujete prava pristupa na vašem Linux sistemu.

Komande setfacl i getfacl

setfacl i getfacl su Linux komande koje se koriste za upravljanje i pregled kontrolnih listi pristupa (ACL) na datotekama i direktorijumima. ACL omogućava detaljniju kontrolu pristupa nego osnovni sistem prava pristupa.

Evo kako se koriste:

setfacl:

  • setfacl -m permissions /path/to/file: Dodaje ACL na datoteku ili direktorijum. Na primer: setfacl -m u:jane:rwx /path/to/file dodeljuje korisnici "jane" prava za čitanje, pisanje i izvršavanje na datoteci.

  • setfacl -x permissions /path/to/file: Uklanja ACL sa datoteke ili direktorijuma. Na primer: setfacl -x u:jane /path/to/file uklanja sve pristupe korisniku "jane" sa datoteke.

  • setfacl -b /path/to/file: Uklanja sve ACL sa datoteke ili direktorijuma.

getfacl:

  • getfacl /path/to/file: Prikazuje trenutne ACL na datoteci ili direktorijumu. Na primer:
# file: /path/to/file
# owner: user1
# group: group1
user::rw-
user:jane:r-x
group::r--
mask::r-x
other::---

Ovde se prikazuju prava pristupa za vlasnika ("user1"), korisnika "jane", grupu "group1" i ostale korisnike.

Ove komande su korisne kada želite da detaljno upravljate pristupima na datotekama i direktorijumima, posebno u višekorisničkim okruženjima gde osnovna prava pristupa nisu dovoljna.


Primer za uklanjanje prava ostalim korisnicima

Da biste uklonili prava za sve ostale korisnike (all others) sa određene datoteke ili direktorijuma, koristite komandu setfacl. Evo kako to možete učiniti:

setfacl -m o::--- /putanja/do/datoteke-ili-direktorijuma

Ovde -m označava da želimo da izmenimo ACL (Access Control List), o::--- postavlja prava za "all others" na "---" što znači da se sva prava uklanjaju. /putanja/do/datoteke-ili-direktorijuma je putanja do datoteke ili direktorijuma na koji želite primeniti ove promene.

Na primer, ako želite da uklonite sva prava za sve ostale korisnike sa datoteke "file.txt", koristite sledeću komandu:

setfacl -m o::--- /putanja/do/file.txt

Ovo će ukloniti sva prava za sve ostale korisnike sa datoteke "file.txt".


Podešavanje default prava

Opcija -d se koristi za postavljanje podrazumevanih ACL prava za direktorijum.

Evo primera kako biste mogli koristiti setfacl -d za postavljanje podrazumevanih ACL prava na direktorijum:

setfacl -d -m u:jane:r-x /path/to/directory

Ova komanda postavlja podrazumevane ACL prava za korisnika "jane" na direktorijum "directory". Prava su postavljena na r-x, što znači da korisnik "jane" ima dozvolu za čitanje i izvršavanje, ali ne i pisanje.

Kada se postave podrazumevana ACL prava na direktorijum, ta prava će se primenjivati na sve nove datoteke i direktorijume koji se kreiraju unutar tog direktorijuma. To omogućava preciznu kontrolu nad pravima korisnika za datoteke koje se kreiraju unutar tog direktorijuma.

Napomena: ACL prava omogućavaju detaljniju kontrolu nad pravima za korisnike i grupe, tako da možete precizno odrediti pristup datotekama i direktorijumima u sistemu.



Pregled prava pristupa

 Da biste pregledali prava pristupa (permissions) za fajl ili direktorijum na Linux sistemu, koristite komandu ls zajedno sa opcijom -l za detaljni prikaz. Evo kako možete pregledati prava pristupa:

  1. Sintaksa komande ls za pregled prava pristupa:

    ls -l putanja/do/fajla_ili_direktorijuma

    Gde je putanja/do/fajla_ili_direktorijuma putanja do fajla ili direktorijuma za koje želite da pregledate prava pristupa.

  2. Prikaz detaljnih informacija:

    Korišćenjem opcije -l, komanda ls će prikazati detaljne informacije o fajlu ili direktorijumu, uključujući prava pristupa. Rezultati će izgledati otprilike ovako:

    -rwxr-xr-x 1 korisnik grupa 12345 datum_vreme fajl.txt

    Gde:

    • Prvi karakter (npr. -) označava tip fajla (običan fajl, direktorijum, simbolička veza itd.).
    • Naredna tri karaktera (npr. rwx) predstavljaju prava vlasnika (owner) fajla.
    • Sledeća tri karaktera (npr. r-x) predstavljaju prava grupe (group).
    • Poslednja tri karaktera (npr. r-x) predstavljaju prava ostalih korisnika (others).
    • Broj "1" označava broj linkova ka fajlu ili direktorijumu.
    • "korisnik" označava vlasnika fajla.
    • "grupa" označava grupu kojoj fajl pripada.
    • "12345" označava veličinu fajla u bajtovima.
    • "datum_vreme" označava datum i vreme poslednje izmene fajla.
    • "fajl.txt" je ime fajla ili direktorijuma.
  3. Pojašnjenje karaktera za prava:

    • r: Dozvola za čitanje (read).
    • w: Dozvola za pisanje (write).
    • x: Dozvola za izvršavanje (execute).
    • -: Bez dozvole.

Na primer, u rezultatu -rwxr-xr-x, vlasnik ima dozvole za čitanje, pisanje i izvršavanje, dok grupa i ostali imaju dozvole samo za čitanje i izvršavanje fajla.

Pregled prava pristupa pomaže vam da razumete ko može da pristupi fajlu ili direktorijumu i šta može da radi s njim.

Implementacija politika lozinke

 Implementacija politika lozinke na Linux sistemu obično se vrši pomoću alatki kao što su PAM (Pluggable Authentication Module) i passwd. Evo kako možete implementirati politike lozinke na Linux sistemu:

  1. Kreirajte ili izmenite fajl /etc/security/pwquality.conf (opcionalno): Ovaj korak je opcionalan i zavisi od vaše Linux distribucije. Fajl /etc/security/pwquality.conf se koristi za konfigurisanje kvaliteta lozinke, kao što su minimalna dužina lozinke, upotreba različitih karaktera, itd. U ovom fajlu možete definisati politike za lozinke.

  2. Izmenite PAM konfiguraciju za lozinke: Konfiguracija PAM nalazi se u fajlu /etc/security/pwquality.conf. Ovde možete definisati politike za lozinke, kao što su minimalna dužina lozinke, upotreba različitih karaktera, maksimalni broj dana do isteka, itd. Ovo možete postići dodavanjem ili izmenom redova u odgovarajućim PAM datotekama, kao što su /etc/security/password-auth ili /etc/security/common-password.

  3. Izmenite politike lozinke pomoću komande passwd: Korisnici takođe mogu menjati svoje lozinke pomoću komande passwd. Administratori sistema mogu koristiti passwd za postavljanje određenih politika lozinke, kao što je postavljanje maksimalnog broja dana do isteka lozinke (-x opcija) ili postavljanje minimalne dužine lozinke (-n opcija). Na primer:

    passwd -x 90 username
    passwd -n 8 username

    Ovo postavlja maksimalni broj dana do isteka lozinke na 90 dana i minimalnu dužinu lozinke na 8 karaktera za korisnika "username".

  4. Kreirajte skripte i zadatke planera za praćenje politika lozinke: Da biste obezbedili da se politike lozinke prate i primenjuju redovno, možete kreirati skripte i koristiti zadatke planera (npr. cron) za automatsko izvršavanje ovih skripti. Na primer, možete kreirati skriptu koja će periodično proveravati starost lozinke korisnika i obaveštavati ih ili ih primoravati da promene lozinke kada isteknu politike.

Ovi koraci variraju u zavisnosti od Linux distribucije koju koristite i politika koje želite primeniti. Preporučuje se da se konsultujete sa dokumentacijom vaše distribucije i PAM konfiguracijom kako biste pravilno implementirali politike lozinke na vašem sistemu.