Essentials Pagina 4: Diferență între versiuni

De la Wiki Linux Advanced
Sari la navigare Sari la căutare
Fără descriere a modificării
 
(Nu s-au afișat 2 versiuni intermediare efectuate de același utilizator)
Linia 22: Linia 22:
  pw: courses
  pw: courses


'''Adăugare/ștergere utilizatori'''
===Adăugare/ștergere utilizatori===


• Necesită drepturi privilegiate
• Necesită drepturi privilegiate
Linia 41: Linia 41:




'''Adăugare/ștergere grupuri'''
===Adăugare/ștergere grupuri===


• groupadd, groupdel
• groupadd, groupdel
Linia 61: Linia 61:




'''Modificarea proprietăților utilizatorilor'''
===Modificarea proprietăților utilizatorilor===


  '''• usermod'''
  '''• usermod'''
Linia 81: Linia 81:




'''Gestiunea drepturilor si permisiunilor pentru fisiere în Linux'''
===Gestiunea drepturilor si permisiunilor pentru fisiere în Linux===
În Linux, spre deosebire de alte sisteme de operare, mai ales datorită faptului că este un sistem multiuser, vom întâlni un sistem special de administrare a drepturilor asupra fişierelor şi directoarelor preluat din Unix.
În Linux, spre deosebire de alte sisteme de operare, mai ales datorită faptului că este un sistem multiuser, vom întâlni un sistem special de administrare a drepturilor asupra fişierelor şi directoarelor preluat din Unix.


Linia 127: Linia 127:
La fel şi ultimele trei fişiere. Asta înseamnă că orice utilizator poate să le modifice sau să le acceseze după bunul plac. Primele două fişiere vedem că au acordate numai anumite drepturi pe care le puteţi identifica cu uşurinţă.
La fel şi ultimele trei fişiere. Asta înseamnă că orice utilizator poate să le modifice sau să le acceseze după bunul plac. Primele două fişiere vedem că au acordate numai anumite drepturi pe care le puteţi identifica cu uşurinţă.


'''Modificarea permisiunilor'''
===Modificarea permisiunilor===


Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri în care poate fi apelată:
Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri în care poate fi apelată:
Linia 160: Linia 160:
Ca o modalitate uşoară de memorare a acestei metode, trebuie să ştiţi să faceţi sume din 1, 2 şi 4, funcţie de drepturile pe care doriţi să le acordaţi.
Ca o modalitate uşoară de memorare a acestei metode, trebuie să ştiţi să faceţi sume din 1, 2 şi 4, funcţie de drepturile pe care doriţi să le acordaţi.


'''Modificarea proprietarului '''
===Modificarea proprietarului===
Modificarea proprietarului (owner) se face folosind comanda chown. Dacă, să spunem, fişierul dat în exemplele de mai sus şi care are ownerul romikele din grupul romikele vrem să îl trecem sub proprietatea lui corin din grupul romikele, folosim comanda:
Modificarea proprietarului (owner) se face folosind comanda chown. Dacă, să spunem, fişierul dat în exemplele de mai sus şi care are ownerul romikele din grupul romikele vrem să îl trecem sub proprietatea lui corin din grupul romikele, folosim comanda:
  chown corin.romikele Screenshot.png
  chown corin.romikele Screenshot.png
Linia 171: Linia 171:
sau:
sau:
  chmod -R 777 pclinuxos
  chmod -R 777 pclinuxos
'''Sticky bit'''
 
===Sticky bit===
Sticky bit este o permisiune speciala pe sistemele de operare Unix-like, folosit pentru a controla accesul la fișiere și directoare într-un mediu partajat. Atunci când sticky bit este setat pe un director, el impune o restricție ca fișierele din acel director să poată fi șterse sau redenumite doar de proprietarul fișierului, proprietarul directorului, sau de utilizatorul root. Aceasta previne ștergerea sau modificarea accidentală a fișierelor și directoarelor de către utilizatorii care nu au drepturile necesare.  
Sticky bit este o permisiune speciala pe sistemele de operare Unix-like, folosit pentru a controla accesul la fișiere și directoare într-un mediu partajat. Atunci când sticky bit este setat pe un director, el impune o restricție ca fișierele din acel director să poată fi șterse sau redenumite doar de proprietarul fișierului, proprietarul directorului, sau de utilizatorul root. Aceasta previne ștergerea sau modificarea accidentală a fișierelor și directoarelor de către utilizatorii care nu au drepturile necesare.  


Linia 195: Linia 196:
Pe lângă sticky bit, în sistemele Unix-like există alte două tipuri de permisiuni speciale cunoscute sub numele de "bit setuid" și "bit setgid". Aceste permisiuni speciale sunt folosite pentru a controla modul în care programele execută și accesează resursele sistemului de operare.
Pe lângă sticky bit, în sistemele Unix-like există alte două tipuri de permisiuni speciale cunoscute sub numele de "bit setuid" și "bit setgid". Aceste permisiuni speciale sunt folosite pentru a controla modul în care programele execută și accesează resursele sistemului de operare.


1. Setuid (Set User ID)
== Setuid (Set User ID) bit ==


Când bitul setuid este setat pe un fișier executabil, procesul care rulează fișierul executabil va avea permisiunile asociate cu proprietarul fișierului, nu cu utilizatorul care îl execută. Acest lucru este util pentru programele care necesită acces la resursele sistemului care sunt altfel inaccesibile utilizatorilor obișnuiți.
Când bitul setuid este setat pe un fișier executabil, procesul care rulează fișierul executabil va avea permisiunile asociate cu proprietarul fișierului, nu cu utilizatorul care îl execută. Acest lucru este util pentru programele care necesită acces la resursele sistemului care sunt altfel inaccesibile utilizatorilor obișnuiți.
Linia 203: Linia 204:
Unul dintre cele mai cunoscute exemple este executabilul passwd, care permite utilizatorilor să își schimbe parolele. Deoarece fișierele de parole sunt accesibile doar de către root, executabilul passwd trebuie să ruleze cu permisiunile de root pentru a modifica aceste fișiere. Prin setarea bitului setuid, orice utilizator poate rula passwd ca și cum ar avea permisiuni de root, permițându-le să își schimbe propriile parole.Comandă pentru setarea setuid:chmod u+s /path/to/file
Unul dintre cele mai cunoscute exemple este executabilul passwd, care permite utilizatorilor să își schimbe parolele. Deoarece fișierele de parole sunt accesibile doar de către root, executabilul passwd trebuie să ruleze cu permisiunile de root pentru a modifica aceste fișiere. Prin setarea bitului setuid, orice utilizator poate rula passwd ca și cum ar avea permisiuni de root, permițându-le să își schimbe propriile parole.Comandă pentru setarea setuid:chmod u+s /path/to/file


2. Setgid (Set Group ID)
'''Notă'''
 
Chiar dacă un fișier script bash are bitul SUID setat și aparține utilizatorului root, scripturile shell nu vor rula cu privilegii de root atunci când sunt executate de un utilizator obișnuit. Acest comportament este o măsură de securitate implementată de sistemele Unix și Linux, deoarece rularea scripturilor shell cu SUID ar putea introduce riscuri majore de securitate.
 
''De ce SUID nu funcționează pe scripturi shell''
 
Spre deosebire de fișierele executabile binare, scripturile shell ignoră bitul SUID. Sistemul de operare face acest lucru pentru a preveni posibile vulnerabilități, deoarece scripturile pot fi modificate sau exploatate cu ușurință pentru a executa comenzi neintenționate ca root.
 
''Soluții pentru a executa scriptul cu permisiuni de root''
 
Pentru a rula acest script cu permisiuni de root, există câteva metode mai sigure:
 
* Folosește sudo pentru a executa scriptul cu privilegii de root:
 
Dacă ai acces sudo pentru utilizatorul care execută scriptul, îl poți rula astfel:
sudo /path/to/script.sh
Asigură-te că utilizatorul are permisiuni sudo și că acest script este permis în configurația sudoers.
 
* Permite execuția unor comenzi specifice din script cu sudo fără parolă:
 
Dacă dorești ca scriptul să poată fi rulat de un utilizator specific fără a necesita parolă pentru fiecare execuție, poți adăuga o regulă specifică în fișierul sudoers. Editează fișierul sudoers utilizând comanda:
sudo visudo
Adaugă o regulă similară, permițându-i utilizatorului glass să ruleze acest script fără parolă:
<user> ALL=(ALL) NOPASSWD: /path/to/script.sh
Astfel, utilizatorul '<user>' poate rula comanda:
sudo /path/to/script.sh
 
* Rulează scriptul din cron cu privilegiile root:
 
Dacă acest script trebuie rulat regulat, îl poți adăuga într-un job cron sub utilizatorul root. Deschide fișierul de cron pentru root:
sudo crontab -e
Adaugă o linie pentru a rula scriptul la intervalul dorit:
0 2 * * * /path/to/script.sh
Oricare dintre metodele de mai sus îți va permite să rulezi scriptul cu permisiuni de root în siguranță, fără a depinde de bitul SUID.
 
== Setgid (Set Group ID) bit ==


Similar cu setuid, când bitul setgid este setat pe un director, fișierele nou-create în acel director vor avea grupul setat la grupul directorului, nu la grupul implicit al utilizatorului care a creat fișierul. Setat pe un fișier executabil, va face ca executabilul să ruleze cu permisiunile grupului fișierului.  
Similar cu setuid, când bitul setgid este setat pe un director, fișierele nou-create în acel director vor avea grupul setat la grupul directorului, nu la grupul implicit al utilizatorului care a creat fișierul. Setat pe un fișier executabil, va face ca executabilul să ruleze cu permisiunile grupului fișierului.  

Versiunea curentă din 1 noiembrie 2024 20:28

Laborator 4

Managementul utilizatorilor Drepturi si permisiuni pentru fisiere si directoare, atribute

Gestiunea utilizatorilor în Linux / Users and Groups

   • Sistemul de operare recunoaște utilizatorii și grup urile după identificatori numerici
   • uid – user identifier - identificator unic al unui utilizator în sistemul de operare
   • gid – group identifier - identificator unic al unui grup în sistemul de operare
uso@elf:~$ id
uid=1001(uso) gid=1009(courses) groups=1009(courses)
uso@elf:~$ id -u
1001
uso@elf:~$ id rl
uid=1000(rl) gid=1009(courses) groups=1009(courses)
uso@elf:~$ finger mps
Login: mps Name: Managementul Proiectelor Software
Directory: /home/mps Shell: /bin/bash
uso@elf:~$ groups pw
pw: courses

Adăugare/ștergere utilizatori

• Necesită drepturi privilegiate

• useradd, userdel
root@valhalla:~# useradd -m -d /home/uso -s /bin/bash uso
root@valhalla:~# passwd uso
root@valhalla:~# userdel -r uso
• adduser, deluser
root@valhalla:~# adduser uso
Adding user `uso' ...
Adding new group `uso' (1002) ...
Adding new user `uso' (1002) with group `uso' ...
Enter new UNIX password:
Retype new UNIX password:
root@valhalla:~# deluser --remove-home uso


Adăugare/ștergere grupuri

• groupadd, groupdel

• addgroup, delgroup

root@valhalla:~# addgroup test
Adding group `test' (GID 1003) ...
Done.
root@valhalla:~# id uso
uid=1002(uso) gid=1002(uso) groups=1002(uso)
root@valhalla:~# adduser uso test
Adding user `uso' to group `test' ...
Adding user uso to group test
Done.
root@valhalla:~# id uso
uid=1002(uso) gid=1002(uso) groups=1002(uso),1003(test)
root@valhalla:~# deluser uso test


Modificarea proprietăților utilizatorilor

• usermod
   • rulat de root
   • modifică informații precum shell-ul de login, login name, home directory
• passwd
   • schimbarea parolei utilizatorului current
   • passwd mihai
• rulat de root, permite schimbarea parolei utilizatorului Mihai


Utilizatorii sunt definiti in fisierul /etc/passwd, iar parolele corespunzatoare fiecarui utilizator in fisierul /etc/shadow.

La crearea unui utilizator se creeaza automat si grupul cu numele lui. Grupurile si utilizatorii alocati acestor grupuri sunt definiti in fisierul /etc/group.

   • se face cat sau more pe fisiere corespunzatoare, /etc/passwd si /etc/group pentru vizualizare
   • exercitii de adaugare, modificare si stergere utilizatori, exercitii de introducere a unui utilizatro dintr-un grup – manual prin editarea fisierelor corespunzatoare si cu comanda in mod automat.


Gestiunea drepturilor si permisiunilor pentru fisiere în Linux

În Linux, spre deosebire de alte sisteme de operare, mai ales datorită faptului că este un sistem multiuser, vom întâlni un sistem special de administrare a drepturilor asupra fişierelor şi directoarelor preluat din Unix.

Tipuri de utilizatori Utilizatorii care pot accesa fişierele sau directoarele sunt împărţiţi pe trei categorii:

   • owner - proprietarul, cel care a creat fişierul sau directorul
   • group - un membru al grupului din care face parte proprietarul
   • other - oricare alt utilizator, care nici nu deţine fişierul/directorul şi nici nu face parte din grupul proprietarului

Drepturi de acces pentru fişiere Sunt împarţite în trei categorii:

   • r - (read) citire
   • w - (write) scriere
   • x - (execute) execuţie

Drepturi de acces pentru directoare Sunt împărţite tot în trei categorii, au aceeaşi simbolizare dar au altă semnificaţie

   • r - (read) citire; semnifică dreptul de a vizualiza (lista) conţinutul directorului (comanda ls)
   • w - (write) scriere; permite adăugarea şi ştergerea de fişiere
   • x - (execute) execuţie; semnifică dreptul de a intra în director (comanda cd)

Vizualizarea şi interpretarea permisiunilor Se face cu ajutorul comenzii:

ls -l

Să vedem ce informaţii oferă outputul acestei comenzi şi cum se foloseşte ea. Dacă dorim să vedem permisiunile unui fişier folosim:

ls -l numefişier

Dacă dorim să listăm toate fişierele şi directoarele din alt director, să spunem test, dăm comanda în directorul respectiv

cd /calecătre/test ls -l

Să spunem că ceea ce am afişat mai jos este conţinutul directorului test şi să facem o analiză scurtă.

drwxrwxrwx 20 romikele romikele   1448 Jan  2 19:48 pclinuxos/
drwxrwxrwx  3 romikele romikele     72 May  6  2024 Music/
-rw-r--r--  1 romikele romikele 185575 May 27  2024 Screenshot.png
-rw-rw-r--  1 romikele romikele   4879 Jun 20  2024 shrek-text.scm
-rwxrwxrwx  1 romikele romikele  48970 Apr 23  2024 snapshot1.jpg*
-rwxrwxrwx  1 romikele romikele 125602 Apr 23  2024 snapshot2.jpg*
-rwxrwxrwx  1 romikele romikele 144053 May  7  2024 snapshot3.jpg*
						

Primul caracter poate fi - sau d. - denotă că avem de a face cu un fişier, iar d ne arată că este vorba despre un director. Deci în lista noastră primele două linii aparţin unor directoare iar celelalte cinci aparţin unor fişiere. Mai sunt şi alte caractere pentru alte tipuri de fişiere, cum ar fi: l (legături simbolice),p (pipe),s (socket) etc, dar ele nu fac obiectul acestui tutorial. Cele două nume sunt al proprietarului (owner) şi respectiv al grupului. Urmează data ultimei modificări şi apoi numele fişierului sau directorului. Următoarele nouă caractere dau permisiunile de acces. De ce sunt nouă? Foarte simplu. Aşa cum aţi citit mai sus, sunt trei categorii de utilizatori şi trei feluri în care poate fi accesat un fişier, rezultând deci nouă combinaţii posibile. Trei pentru owner, trei pentru group şi ultimele trei pentru others.

Acolo unde caracterul care simbolizează un drept este înlocuit cu -, înseamnă că respectiva permisiune nu este acordată. Cele două directoare au permisiuni activate pentru toţi utilizatorii sistemului: rwxrwxrwx. La fel şi ultimele trei fişiere. Asta înseamnă că orice utilizator poate să le modifice sau să le acceseze după bunul plac. Primele două fişiere vedem că au acordate numai anumite drepturi pe care le puteţi identifica cu uşurinţă.

Modificarea permisiunilor

Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri în care poate fi apelată:

   * Cu litere Într-un prim mod de utilizare se folosesc următoarele convenţii: u - proprietar , g -grup , o - others, a - toţi(all), - retrage drepturile şi + adaugă drepturile. Dacă pentru fişierul

-rw-r--r-- 1 romikele romikele 185575 May 27 2024 Screenshot.png

vrem să adăugăm drepturi de scriere (w) pentru grup folosim:

chmod g+w Screenshot.png

Rezultatul, dacă dăm:

ls -l

este:

-rw-rw-r-- 1 romikele romikele 185575 May 27 2024 Screenshot.png

Se observă apariţia dreptului de scriere pentru grup. Dacă vrem să dăm permisiuni de scriere şi citire (rw) pentru toţi utilizatorii, putem scrie: chmod a+rw Screenshot.png Rezultatul va fi:

-rw-rw-rw- 1 romikele romikele 185575 May 27 2024 Screenshot.png

Dacă vrem să retragem dreptul de scriere (w) putem scrie:

chmod a-rw Screenshot.png

   * Cu cifre Un alt mod de utilizare este folosirea scrierii permisiunilor sub forma zecimală. Este mai puţin intuitiv dar odată înţeles este destul de uşor de aplicat şi mai flexibil decât modul prezentat anterior. Pentru fiecare tip de utilizator vom avea o valoare numerică ce va descrie toate cele trei permisiuni (rwx) şi care se obţine astfel: - Pentru fiecare drept se acordă 1 dacă el este dat şi 0 dacă el este revocat. Va rezulta astfel un număr binar format din trei cifre. Să luăm cazul în care avem 111, adică acordăm toate permisiunile. Îl transformăm apoi în zecimal sub forma:

1*4+1*2+1*1=7 unde 1,2 şi 4 sunt puterile lui 2 (2^0=1, 2^1=2, 2^2=4).

Dacă aveam o serie de drepturi de tipul -wx vom avea 0*4+1*2+1*1=3. Acesta cum spuneam este numai pentru un tip de utilizator. De exemplu pentru toate cele trei categorii, owner, group şi others , permisiunile rwxrwxrwx s-ar scrie după modelul de mai sus, luate trei câte trei 777. Atunci comanda ar fi sub forma:

chmod 777 Screenshot.png

care ar avea ca rezultat:

-rwxrwxrwx 1 romikele romikele 185575 May 27 2024 Screenshot.png

Ca o modalitate uşoară de memorare a acestei metode, trebuie să ştiţi să faceţi sume din 1, 2 şi 4, funcţie de drepturile pe care doriţi să le acordaţi.

Modificarea proprietarului

Modificarea proprietarului (owner) se face folosind comanda chown. Dacă, să spunem, fişierul dat în exemplele de mai sus şi care are ownerul romikele din grupul romikele vrem să îl trecem sub proprietatea lui corin din grupul romikele, folosim comanda:

chown corin.romikele Screenshot.png

rezultatul va fi:

-rwxrwxrwx 1 corin romikele 185575 May 27 2024 Screenshot.png

Dacă nu cunoaşteţi grupul userului puteţi să nu îl precizaţi. Observaţii Dacă vrem să aplicăm comanda chmod pentru toate fişierele dintr-un director, folosim opţiunea -R recursive. Dacă vrem să dăm drepturi depline tuturor asupra fişierelor din directorul pclinuxos din lista de mai sus putem folosi:

chmod -R a+rwx pclinuxos

sau:

chmod -R 777 pclinuxos

Sticky bit

Sticky bit este o permisiune speciala pe sistemele de operare Unix-like, folosit pentru a controla accesul la fișiere și directoare într-un mediu partajat. Atunci când sticky bit este setat pe un director, el impune o restricție ca fișierele din acel director să poată fi șterse sau redenumite doar de proprietarul fișierului, proprietarul directorului, sau de utilizatorul root. Aceasta previne ștergerea sau modificarea accidentală a fișierelor și directoarelor de către utilizatorii care nu au drepturile necesare.

Exemplu:

Un exemplu comun în care sticky bit este folosit este directorul /tmp. În sistemele Unix și Linux, /tmp este un director unde toate programele pot scrie date temporare. Pentru a evita ca un utilizator să șteargă sau să modifice fișierele temporare ale altui utilizator, sticky bit este setat pe acest director.Puteți verifica dacă sticky bit este setat pe un director folosind comanda ls -ld. De exemplu:

ls -ld /tmp

Rezultatul ar putea arăta astfel:

drwxrwxrwt 9 root root 4096 Oct  7 10:00 /tmp

Aici, litera t la sfârșitul listei de permisiuni indică faptul că sticky bit este setat. Setarea sticky bit:Pentru a seta sticky bit pe un director, puteți folosi comanda chmod cu opțiunea +t. De exemplu, pentru a seta sticky bit pe un director numit example_dir, ați folosi:

chmod +t example_dir

Pentru a elimina sticky bit, folosiți -t:

chmod -t example_dir

Sumar: Sticky bit este folositor în medii unde multiple persoane sau programe au acces la același director și este necesar să se protejeze integritatea datelor individuale prin restricționarea drepturilor de ștergere și redenumire a fișierelor. Aceasta contribuie la menținerea unui mediu de sistem de fișiere ordonat și sigur pentru toți utilizatorii.

Pe lângă sticky bit, în sistemele Unix-like există alte două tipuri de permisiuni speciale cunoscute sub numele de "bit setuid" și "bit setgid". Aceste permisiuni speciale sunt folosite pentru a controla modul în care programele execută și accesează resursele sistemului de operare.

Setuid (Set User ID) bit

Când bitul setuid este setat pe un fișier executabil, procesul care rulează fișierul executabil va avea permisiunile asociate cu proprietarul fișierului, nu cu utilizatorul care îl execută. Acest lucru este util pentru programele care necesită acces la resursele sistemului care sunt altfel inaccesibile utilizatorilor obișnuiți.

Exemplu de utilizare:

Unul dintre cele mai cunoscute exemple este executabilul passwd, care permite utilizatorilor să își schimbe parolele. Deoarece fișierele de parole sunt accesibile doar de către root, executabilul passwd trebuie să ruleze cu permisiunile de root pentru a modifica aceste fișiere. Prin setarea bitului setuid, orice utilizator poate rula passwd ca și cum ar avea permisiuni de root, permițându-le să își schimbe propriile parole.Comandă pentru setarea setuid:chmod u+s /path/to/file

Notă

Chiar dacă un fișier script bash are bitul SUID setat și aparține utilizatorului root, scripturile shell nu vor rula cu privilegii de root atunci când sunt executate de un utilizator obișnuit. Acest comportament este o măsură de securitate implementată de sistemele Unix și Linux, deoarece rularea scripturilor shell cu SUID ar putea introduce riscuri majore de securitate.

De ce SUID nu funcționează pe scripturi shell

Spre deosebire de fișierele executabile binare, scripturile shell ignoră bitul SUID. Sistemul de operare face acest lucru pentru a preveni posibile vulnerabilități, deoarece scripturile pot fi modificate sau exploatate cu ușurință pentru a executa comenzi neintenționate ca root.

Soluții pentru a executa scriptul cu permisiuni de root

Pentru a rula acest script cu permisiuni de root, există câteva metode mai sigure:

  • Folosește sudo pentru a executa scriptul cu privilegii de root:

Dacă ai acces sudo pentru utilizatorul care execută scriptul, îl poți rula astfel:

sudo /path/to/script.sh

Asigură-te că utilizatorul are permisiuni sudo și că acest script este permis în configurația sudoers.

  • Permite execuția unor comenzi specifice din script cu sudo fără parolă:

Dacă dorești ca scriptul să poată fi rulat de un utilizator specific fără a necesita parolă pentru fiecare execuție, poți adăuga o regulă specifică în fișierul sudoers. Editează fișierul sudoers utilizând comanda:

sudo visudo

Adaugă o regulă similară, permițându-i utilizatorului glass să ruleze acest script fără parolă:

<user> ALL=(ALL) NOPASSWD: /path/to/script.sh

Astfel, utilizatorul '<user>' poate rula comanda:

sudo /path/to/script.sh
  • Rulează scriptul din cron cu privilegiile root:

Dacă acest script trebuie rulat regulat, îl poți adăuga într-un job cron sub utilizatorul root. Deschide fișierul de cron pentru root:

sudo crontab -e

Adaugă o linie pentru a rula scriptul la intervalul dorit:

0 2 * * * /path/to/script.sh

Oricare dintre metodele de mai sus îți va permite să rulezi scriptul cu permisiuni de root în siguranță, fără a depinde de bitul SUID.

Setgid (Set Group ID) bit

Similar cu setuid, când bitul setgid este setat pe un director, fișierele nou-create în acel director vor avea grupul setat la grupul directorului, nu la grupul implicit al utilizatorului care a creat fișierul. Setat pe un fișier executabil, va face ca executabilul să ruleze cu permisiunile grupului fișierului.

Exemplu de utilizare: Dacă aveți un director unde membrii unui grup trebuie să colaboreze pe fișiere, setgid poate fi folosit pentru a menține toate fișierele nou-create în acel director cu grupul directorului, astfel încât toți membrii să aibă acces la acestea.

Comandă pentru setarea setgid:

chmod g+s /path/to/directory

Verificare Puteți verifica setările de setuid și setgid folosind ls -l. Bitul setuid este indicat prin s sau S în locul bitului de execuție în permisiunile proprietarului, iar setgid este indicat prin s sau S în locul bitului de execuție în permisiunile grupului. Aceste permisiuni speciale sunt puternice și trebuie folosite cu prudență, deoarece pot introduce riscuri de securitate dacă nu sunt gestionate corespunzător.

Comanda lsattr este folosită pentru a afișa atributele unui fișier în sistemul de fișiere Linux, iar comanda chattr este folosită pentru a modifica aceste atribute. Iată câteva dintre atributele disponibile și semnificațiile lor:

   1. i (immutable): Împiedică modificarea, ștergerea sau redenumirea fișierului.
   2. a (append-only): Permite doar adăugarea de date la fișier, dar nu și modificarea sau ștergerea conținutului existent.
   3. A (no-atime): Împiedică actualizarea timestamp-ului de acces al fișierului atunci când este citit.
   4. d (no-dump): Împiedică fișierul să fie inclus în operațiile de backup cu dump.
   5. s (secure deletion): Împiedică ștergerea sigură a fișierului.
   6. S (synchronous directory updates): Forcează actualizarea imediată a directorului atunci când fișierul este modificat.
   7. u (undeletable): Împiedică ștergerea fișierului, dar permite suprascrierea acestuia cu date noi.
   8. C (compressed): Indică că fișierul este comprimat la nivelul sistemului de fișiere.
   9. E (extent format): Indică că fișierul utilizează formatul de extensii în sistemul de fișiere ext4.
   10. I (inline data): Indică că datele fișierului sunt stocate direct în inode.

Acestea sunt câteva dintre atributele comune utilizate cu lsattr și chattr în sistemele de fișiere Linux.

Notă: Nu toate aceste atribute sunt suportate de toate sistemele de fișiere, iar unele atribute pot avea efecte diferite în funcție de sistemul de fișiere utilizat.

Pagina anterioară | Următoarea pagină