setfacl
je Linux komanda koja se koristi za postavljanje ACL (Access Control List) prava na datoteke i direktorijume. ACL prava omogućavaju precizniju kontrolu nad pristupom resursima u odnosu na osnovne Unix pristupne dozvole (chmod).
Evo nekoliko osnovnih opcija koje se često koriste sa setfacl
:
-
-m
ili--modify
: Ova opcija se koristi za izmenu postojećih ACL prava. Na primer,setfacl -m u:jane:rw file.txt
će omogućiti korisniku "jane" čitanje i pisanje u datoteci "file.txt". -
-x
ili--remove
: Koristi se za uklanjanje ACL prava. Na primer,setfacl -x u:jane file.txt
će ukloniti prava korisnika "jane" sa datoteke "file.txt". -
-b
ili--remove-all
: Ova opcija uklanja sve ACL prava sa datoteke ili direktorijuma. -
-d
ili--default
: Postavlja podrazumevana ACL prava za direktorijum. Podrazumevana prava se primenjuju na nove datoteke i direktorijume koji se kreiraju unutar tog direktorijuma. -
-R
ili--recursive
: Ova opcija se koristi za rekurzivnu primenu ACL prava na sve datoteke i direktorijume unutar određenog direktorijuma. -
-k
ili--remove-default
: Uklanja podrazumevana ACL prava postavljena na direktorijum. -
-n
ili--no-mask
: Onemogućava automatsko ažuriranje maske na osnovu postavljenih ACL prava. -
-v
ili--version
: Prikazuje verzijusetfacl
programa. -
-b
ili--backup
: Pravi rezervnu kopiju postojećih ACL prava pre nego što ih izmeni.
Napomena: Precizna sintaksa komande setfacl
zavisi od vašeg sistema i distribucije Linux-a, pa je najbolje da koristite man setfacl
kako biste dobili tačne informacije za vašu konkretnu konfiguraciju.
Primeri:
- Postavljanje ACL-a koji dozvoljava korisniku "john" čitanje i pisanje u datoteci "file.txt":
setfacl -m u:john:rw file.txt
- Postavljanje ACL-a za direktorijum "docs" koji omogućava korisniku "alice" pun pristup, a korisniku "bob" samo čitanje:
setfacl -m u:alice:rwx,u:bob:r-x docs
- Postavljanje maksimalnih prava (mask) za sve korisnike za datoteku "document.pdf":
setfacl -m m::rwx document.pdf
- Rekurzivno postavljanje ACL-a za sve datoteke i direktorijume u "projekat" direktorijumu tako da korisnik "manager" ima pun pristup:
setfacl -R -m u:manager:rwx projekat
Nakon što postavite ACL-ove, možete ih proveriti pomoću komande getfacl
:
getfacl file.txt
Ova komanda će vam prikazati trenutne ACL-ove za datoteku "file.txt".