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.



No comments:

Post a Comment