Setuid și Setgid sunt termeni Unix, abrevieri pentru „Set User ID” și „Set Group ID”, respectiv. Setuid, denumit uneori „suid” și „setgid” sunt permisiuni de acces care pot fi atribuite fișierelor sau directoarelor unui sistem de operare bazat pe Unix. Acestea sunt utilizate în principal pentru a permite utilizatorilor de sistem să ruleze temporar binare privilegiate ridicate pentru a efectua o sarcină specifică.
Aceste permisiuni sunt după cum urmează:
SET UID
set-user-ID-on-executionPermite ca, atunci când un fișier este executat, acesta să fie efectuat sub privilegiile proprietarului. De exemplu, dacă trebuie să exercităm privilegii de root pentru a putea accesa un anumit modul, să scriem în jurnale, să citim / să scriem dispozitive etc.
SGID, set-group-ID-on-execution permite ca, atunci când este executat un fișier, să fie efectuat sub privilegiile grupului care deține fișierul.
Realizarea SET UID și GID către fișiere și directoare, în general către acestea din urmă, va permite o „moștenire” a caracteristicilor de la directorul anterior la următorul și toate fișierele / directoarele care sunt generate / create / copiate în directoarele SET GID va avea caracteristicile din directorul părinte.
GID este permis în general, astfel încât utilizatorii unui grup să poată lucra cu fișierele aceluiași grup, UID va putea schimba proprietarul fișierului și permisiunile pentru o altă persoană din GRUP, dacă opțiunea „clicabilă” este activă .
SETAȚI GID
SET GID este o opțiune interesantă dacă și mulți utilizatori vor accesa un sistem de stocare comun
- SAMBA
- FTP
- HTTP
- Baze de date
Exemplu pentru implementarea SET UID și GID
De la terminal efectuăm următoarele sarcini:
Creăm un exemplu de director:
[root @ root] mkdir EXEMPLUListăm directorul:
[root @ root] vdirModificăm permisiunile directorului astfel încât doar utilizatorii grupului „programatori” să poată accesa, permisiunile sunt parametri ai comanda chmod și sunt următorii
+ s: pentru a activa modul suid
g + s: pentru a activa modul sgid
[root @ root] # chown user.programmers
[root @ root] # chmod g + s EXEMPLU
[root @ root] # vdirListăm directorul și vom vedea conținutul
4 drwxrwxrwx 2 programatori de utilizatori EXEMPLUÎn mod implicit, niciun utilizator care nu aparține grupului „programatori” nu va putea lucra cu fișierele din acel director. Pe de altă parte, utilizatorii grupului vor putea lucra cu fișierele în funcție de atributele pe care le au utilizatorii, dacă au permisiunile de citire sau scriere.
Unele programe și servicii precum Samba, FTP, HTTPAu caracteristici speciale care nu sunt guvernate de aceste reguli și le completează prin îmbogățirea acestora.
Acum că am creat SET UID și GID, dacă creăm un fișier sau un director în cadrul exemplului de la orice utilizator, acesta va moșteni caracteristicile pe care le-am definit anterior, indiferent de cine l-a creat și de permisiunile pe care le are.
De exemplu, putem spune dacă creăm un fișier report.txt în directorul EXAMPLE și utilizatorul care l-a creat este rădăcină și totuși grupul este programatori, grupul căruia îi va aparține fișierul vor fi programatori.
Deoarece directorul EXEMPLU are atributele: drwxrwsrwx, indicând faptul că directorul este SET GID, toate fișierele create în acesta vor aparține utilizatorului și grupului indicat de SET GID.
Dacă vedem o listă cu mai multe fișiere, ar arăta astfel:
4 drwxr-Sr-x 2 programatori jose 4096 home.html 4 drwxr-Sr-x 2 programatori carlos 4096 dependencies.txt 4 drwxr-Sr-x 2 programatori rădăcină 4096 report-project.odfSper că acest tutorial vă va ajuta. V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv