Metode de plată Abuse

Comanda CHGRP LINUX

14.12.2021, 10:30

Adesea, atunci când rulează Linux, utilizatorii se gândesc rar la cine deține un fișier. Cu toate acestea, când vine vorba de rularea unui server, situația se schimbă. Pentru a spori securitatea, serverul primește propriul său utilizator. Nu este neobișnuit ca serverele să utilizeze același grup, cum ar fi www-data. În continuare, să vedem cum funcționează această funcție cu fișierele și directoarele. Vom acorda o atenție deosebită linkurilor simbolice, deoarece acestea pot cauza probleme atunci când se utilizează setări nesigure.

Ce înseamnă

Standardul de permisiuni pentru fișiere a venit la Linux de la Unix. Deci, fiecare obiect are un utilizator, grup în plus față de aceasta descrie drepturilealtor utilizatori(alte). Permisiunile constau din trei elemente: citire, scriere, executare. Comanda umask este utilizată pentru a schimba permisiunile, dar comenzile chown sunt utilizate pentru a schimba direct proprietarul și grupul. Comanda ls poate fi utilizată pentru a vizualiza permisiunile curente.

Sintaxă și opțiuni

Vedere generală a comenzii chgrp:

$ chgrp [options] new_group file_name

Lista opțiunilor comune pentru comanda chgrp:

  1. -h - lucrează direct cu legăturile simbolice în sine;
  2. --dereference - lucrează cu fișiere, nu cu legăturile simbolice în sine. Utilizate implicit;
  3. -R - prelucrarea recursivă a unui director cu tot conținutul său;
  4. -H - urmărește legătura simbolică și modifică atributele fișierului/directorului. Utilizat împreună cu parametrul -R;
  5. -L - urmărește legătura simbolică și continuă procesarea recursivă. Utilizat împreună cu parametrul -R;
  6. -P - atunci când întâlnește o legătură simbolică, o procesează numai pe aceasta. Folosit împreună cu parametrul -R, este valoarea implicită;
  7. --reference=file_name - utilizează grupul de exemple;
  8. -c - ieșirea se modifică numai la procesare;
  9. -v - emite informații despre fiecare obiect procesat.

Utilizarea comenzii

Cel mai simplu exemplu de utilizare a comenzii chgrp. Următorul schimbă întregul obiect www-data pentru fișierul din folderul curent:

$ sudo chgrp www-data file.txt

Iar acesta schimbă grupul în www-data pentru folderul folder:

 $ sudo chgrp www-data folder

Comanda funcționează într-un mod foarte previzibil, schimbându-le grupul. Obiectele din folder rămân neschimbate. Dacă sunt gestionate legăturile simbolice, atributele lor rămân neschimbate, dar obiectul primește un grup nou. Acest comportament este similar cu gestionarea parametrului --dereference.

De exemplu, aceste comenzi aplicate legăturilor simbolice vor funcționa așa cum se arată în captura de ecran:

$ sudo chgrp www-data sym_file.txt

Să aruncăm o privire la modul în care ar funcționa parametrul -h care modifică atributele unei legături simbolice:

$ sudo chgrp -h www-data sym_file

Grupul a fost setat nu numai pentru director, ci și pentru toate fișierele din acesta. Rețineți că comportamentul s-a schimbat, acum, la procesarea unei legături simbolice, atributele sunt setate pentru legătura în sine, nu pentru obiect.

Pentru a vedea diferența dintre parametrii -H și -L, să ne mai uităm la câteva exemple. Reamintim că aceștia trebuie să fie utilizați împreună cu -R:

$ sudo chgrp -RH www-data folder

Folosind -H, comportamentul la procesarea legăturilor simbolice s-a schimbat, acestea fiind acum tratate ca și cum funcțiile ar fi executate separat. Atributele referințelor nu se modifică, ci atributele obiectelor în sine, iar procesarea recursivă se oprește atunci când treceți la un director.

$ sudo chgrp -RL www-data folder

Aceasta îndeplinește o singură funcție - modifică grupul de fișiere și directoare.

Atunci când procesați legături simbolice, trebuie să fiți extrem de atenți pentru a nu deteriora sistemul.