Aflați setfacl Command Linux

Setfacl stabilește setările Access Lists (ACL) ale fișierelor și directoarelor. Pe linia de comandă , o secvență de comenzi este urmată de o secvență de fișiere (care la rândul lor poate fi urmată de o altă secvență de comenzi, ...).

Opțiunile -m și -x se așteaptă la un ACL pe linia de comandă. Intrările ACL multiple sunt separate prin caractere virgulare (`, '). Opțiunile -M și -X citesc un ACL dintr-un fișier sau dintr-o intrare standard. Formatul de intrare ACL este descris în secțiunea ACL ENTRIES.

Opțiunile --set și -set -set setază ACL-ul unui fișier sau al unui director. ACL anterior este înlocuit. Intrările ACL pentru această operațiune trebuie să includă permisiuni.

Modificările -m (- modify) și -M (--modify-file) modifică ACL-ul unui fișier sau director. Intrările ACL pentru această operațiune trebuie să includă permisiuni.

Opțiunile -x (--remove) și -X (--remove-file) îndepărtează opțiunile ACL. Numai intrările ACL fără câmpul Perms sunt acceptate ca parametri, cu excepția cazului în care este definită POSIXLY_CORRECT.

Atunci când citiți din fișiere utilizând opțiunile -M și -X , setfacl acceptă ieșirea getfacl produce. Există cel mult o intrare ACL pe linie. După un semn Pound (`# '), totul până la sfârșitul liniei este tratat ca un comentariu.

Dacă setfacl este utilizat într-un sistem de fișiere care nu acceptă ACL-uri, setfacl operează pe biti de permisiune mod de fișier. Dacă ACL nu se încadrează complet în biții de permisiune, setfacl modifică biții de permisiune pentru modurile de fișier pentru a reflecta ACL cât mai aproape posibil, scrie un mesaj de eroare la eroarea standard și se întoarce cu o stare de ieșire mai mare de 0.

REZUMAT

setfacl [-bkndRLPvh] [{-m | -x} acl_spec] [{-M | -X} acl_file] fișier ...

setfacl --restore = fișier

PERMISIUNI

Proprietarului de fișiere și proceselor capabile de CAP_FOWNER i se acordă dreptul de a modifica ACL-urile unui fișier. Acest lucru este similar cu permisiunile necesare pentru accesarea modului de fișiere. (La sistemele Linux actuale, root este singurul utilizator cu capacitatea CAP_FOWNER.)

OPȚIUNI

-b, - retrage-toate

Eliminați toate intrările ACL extinse. Intrările de bază ACL ale proprietarului, grupului și altele sunt păstrate.

-k, --remove-default

Eliminați ACL-ul prestabilit. Dacă nu există ACL prestabilit, nu se emite avertismente.

-n, - nu-mască

Nu recalculați măștile de drepturi efective. Comportamentul implicit al setfacl este recalcularea intrării mască ACL, cu excepția cazului în care o intrare mască a fost explicit dată. Intrarea mască este setată la unirea tuturor permisiunilor grupului deținător și a tuturor intrărilor de utilizator și de grup. (Acestea sunt exact intrările afectate de intrarea mască).

--masca

Recalculați măștile de drepturi efective, chiar dacă ați introdus în mod explicit o intrare mască ACL. (Vedeți opțiunea -n .)

-d, --depreget

Toate operațiile se aplică la ACL prestabilit. Intrările ACL regulate din setul de intrări sunt promovate la intrările implicite ACL. Intrările ACL implicite din setul de intrări sunt eliminate. (Dacă se întâmplă acest lucru, se emite un avertisment).

--restore = fișier

Restaurați o copie de rezervă a permisiunilor create de `getfacl -R 'sau similare. Toate permisiunile unui subdrept director complet sunt restabilite folosind acest mecanism. Dacă intrarea conține comentarii de proprietar sau comentarii de grup și setfacl este rulat de root, proprietarul și grupul de proprietari ai tuturor fișierelor sunt restaurate. Această opțiune nu poate fi amestecată cu alte opțiuni decât `--test '.

--Test

Modul de testare. În loc să schimbați ACL-urile oricăror fișiere, ACL-urile rezultate sunt listate.

-R, - recursiv

Aplicați operațiile la toate fișierele și directoarele în mod recursiv. Această opțiune nu poate fi amestecată cu `--restore '.

-L, - logică

Plimbare logică, urmați legăturile simbolice. Comportamentul implicit este să urmeze argumentele legăturii simbolice și să ignore legăturile simbolice întâlnite în subdirectoare. Această opțiune nu poate fi amestecată cu `--restore '.

-P, - fizic

Deplasare fizică, săriți toate legăturile simbolice. Aceasta, de asemenea, ignoră argumentele legăturii simbolice. Această opțiune nu poate fi amestecată cu `--restore '.

--versiune

Imprimați versiunea de setfacl și ieșire.

--Ajutor

Asistență pentru imprimare explicând opțiunile din linia de comandă.

Sfârșitul opțiunilor liniei de comandă. Toți parametrii rămași sunt interpretați ca nume de fișiere, chiar dacă încep cu o linie.

Dacă parametrul nume de fișier este o singură linie, setfacl citește o listă de fișiere de la intrarea standard.

ACȚIUNI ACL

Utilitarul setfacl recunoaște următoarele formate de intrare ACL (blanks inserate pentru claritate):

[d [efault]:] [u [ser:: uid [: perms ]

Permisiuni ale unui utilizator numit. Permisiunile proprietarului fișierului dacă uid este gol.

[d [efault]:] g [roup]: gid [: perms ]

Permisiunile unui grup numit. Permisiunile grupului deținător dacă gid este gol.

[d [efault]:] m [întreba] [:] [: perms ]

Mască efectivă a drepturilor

[d [efault]:] o [te] [:] [: perms ]

Permisiuni ale altora.

Spațiul alb între caracterele de delimitare și caracterele non-delimiter este ignorat.

Intrările corespunzătoare ACL, inclusiv permisiunile, sunt folosite pentru a modifica și seta operațiile. (opțiuni -m , -M , -set și -set-fișier ). Intrările fără câmpul Perms sunt folosite pentru ștergerea intrărilor (opțiunile -x și -X ).

Pentru uid și gid puteți specifica fie un nume, fie un număr.

Câmpul Perms este o combinație de caractere care indică permisiunile: citiți (r) , scrieți (w) , executați (x) , executați numai dacă fișierul este un director sau are deja o permisiune de execuție pentru un utilizator (X) . În mod alternativ, câmpul Perms poate fi o cifră octală (0-7).

INTRĂRI CREATE AUTOMAT

Inițial, fișierele și directoarele conțin numai cele trei intrări ACL de bază pentru proprietar, grup și altele. Există câteva reguli care trebuie îndeplinite pentru ca un ACL să fie valabil:

*

Cele trei intrări de bază nu pot fi eliminate. Trebuie să existe exact o intrare pentru fiecare dintre aceste tipuri de intrări de bază.

*

Ori de câte ori un ACL conține intrări de utilizator numite sau obiecte de grup numite, trebuie să conțină și o mască eficientă a drepturilor.

*

Ori de câte ori un ACL conține orice intrări ACL implicite, trebuie să existe și cele trei intrări ACL implicite de bază (proprietar implicit, grup implicit și altele implicite).

*

Ori de câte ori un ACL implicit conține intrări de utilizator numite sau obiecte grupate, trebuie să conțină și o mască de drepturi efective implicite.

Pentru a ajuta utilizatorul să asigure aceste reguli, setfacl creează intrări din intrările existente în următoarele condiții:

*

Dacă un ACL conține nume de utilizator sau intrări de grup numite și nicio intrare mască există, este creată o intrare de mască care conține aceleași permisiuni ca intrarea grupului. Cu excepția cazului în care este dată opțiunea -n , permisiunile pentru intrarea mască sunt ajustate în continuare pentru a include unirea tuturor permisiunilor afectate de intrarea mască. (Consultați descrierea opțiunii -n ).

*

Dacă este creată o intrare ACL prestabilită și ACL prestabilit nu conține niciun proprietar, grup propriu sau altă intrare, o copie a înregistrării proprietarului ACL, a grupului de proprietar sau a altor persoane este adăugată la ACL prestabilit.

*

Dacă un ACL implicit conține intrări de utilizator sau intrări de grup numite și nicio intrare de mască nu există, este adăugată o intrare de mască care conține aceleași permisiuni ca intrarea implicită a grupului implicit ACL. Cu excepția cazului în care este dată opțiunea -n , permisiunile pentru intrarea mască sunt ajustate în continuare la includerea unității tuturor permisiunilor afectate de intrarea mască. (Consultați descrierea opțiunii -n ).

EXEMPLE

Acordarea unui acces suplimentar la citire

setfacl -mu: lisa: r fișier

Revocarea accesului la scriere din toate grupurile și toți utilizatorii numiți (utilizând măștile efective de drepturi)

setfacl -mm :: rx fișier

Eliminarea unei intrări de grup numită dintr-un ACL al unui fișier

setfacl -xg: fișier de personal

Copierea ACL a unui fișier în altul

fișierul getfacl1 setfacl --set-file = - fișier2

Copierea accesului ACL în ACL implicit

getfacl -a dir | setfacl -d -M- dir

CONFORMITATEA CU POSIX 1003.1e PROIECTUL STANDARDULUI 17

Dacă variabila de mediu POSIXLY_CORRECT este definită, comportamentul implicit al setfacl se modifică după cum urmează: Toate opțiunile non-standard sunt dezactivate. Prefixul prestabilit este oprit. Opțiunile -x și -X acceptă, de asemenea, câmpuri de permisiune (și le ignorați).

VEZI SI

umask (1),