Fizetési módok Abuse

CHGRP LINUX parancs

14.12.2021, 10:30

Linux alatt a felhasználók gyakran ritkán gondolnak arra, hogy ki a fájl tulajdonosa. Amikor azonban szerver futtatásáról van szó, a helyzet megváltozik. A biztonság növelése érdekében a szerver saját felhasználót kap. Nem ritka, hogy a szerverek ugyanazt a csoportot használják, például www-data. Ezután nézzük meg, hogyan működik ez a funkció a fájlokkal és könyvtárakkal. Különös figyelmet fogunk fordítani a szimbolikus hivatkozásokra, mivel ezek problémát okozhatnak a nem biztonságos beállítások használatakor.

Mit jelent

A fájljogosultságok szabványa a Linuxra a Unixból érkezett. Tehát minden objektumnak van egy felhasználója, csoportja ezen kívül leírja atöbbi felhasználó jogait(other). A jogosultságok három tételből állnak: olvasás, írás, végrehajtás. A jogosultságok módosítására az umask parancs szolgál, de a tulajdonos és a csoport közvetlen módosítására a chown parancsok szolgálnak. Az ls paranccsal megtekinthetők az aktuális jogosultságok.

Szintaxis és opciók

A chgrp parancs általános nézete:

$ chgrp [options] new_group file_name

A chgrp parancs általános opcióinak listája:

  1. -h - közvetlenül magával a szimbolikus linkekkel dolgozik;
  2. --dereference - a fájlokkal dolgozik, nem magukkal a szimbolikus linkekkel. Alapértelmezés szerint használatos;
  3. -R - egy könyvtár rekurzív feldolgozása annak teljes tartalmával együtt;
  4. -H - követi a szimbolikus linket és megváltoztatja a fájl/könyvtár attribútumait. A -R paraméterrel együtt használható;
  5. -L - követi a szimbolikus linket és folytatja a rekurzív feldolgozást. A -R paraméterrel együtt használható;
  6. -P - ha szimbolikus hivatkozással találkozik, csak azt dolgozza fel. A -R paraméterrel együtt használva az alapértelmezett érték;
  7. --reference=file_name - a mintacsoport használata;
  8. -c - a kimenet csak feldolgozáskor változik;
  9. -v - minden egyes feldolgozott objektumról információt ad ki.

Parancshasználat

A chgrp parancs használatának legegyszerűbb példája. A következő a teljes www-data objektumot módosítja az aktuális mappában lévő fájlhoz:

$ sudo chgrp www-data file.txt

Ez pedig megváltoztatja a mappa mappájának www-data csoportját:

 $ sudo chgrp www-data folder

A parancs nagyon kiszámítható módon működik, megváltoztatja a csoportjukat. A mappában lévő objektumok változatlanok maradnak. Ha szimbolikus linkeket kezel, akkor azok attribútumai változatlanok maradnak, de az objektum új csoportot kap. Ez a viselkedés hasonló a --dereference paraméter kezeléséhez.

Például ezek a parancsok szimbolikus linkekre alkalmazva a képernyőképen látható módon működnek:

$ sudo chgrp www-data sym_file.txt

Nézzük meg, hogyan működik a -h paraméter, amely megváltoztatja egy szimbolikus hivatkozás attribútumait:

$ sudo chgrp -h www-data sym_file

A csoportot nemcsak a könyvtárra, hanem a benne lévő összes fájlra is beállította. Vegyük észre, hogy a viselkedés megváltozott, mostantól a szimbolikus link feldolgozásakor az attribútumok magára a linkre, nem pedig az objektumra lesznek beállítva.

Hogy lássuk a -H és -L paraméterek közötti különbséget, nézzünk még néhány példát. Emlékezzünk arra, hogy ezeket a -R paraméterrel együtt kell használni:

$ sudo chgrp -RH www-data folder

A -H használatával megváltozott a viselkedés a szimbolikus linkek feldolgozásakor, most már úgy kezeli őket, mintha a függvények külön-külön lennének végrehajtva. A hivatkozások attribútumai nem változnak, maguknak az objektumoknak az attribútumai igen, és a rekurzív feldolgozás leáll, amikor könyvtárat váltunk.

$ sudo chgrp -RL www-data folder

Egyetlen funkciót hajt végre - megváltoztatja a fájlok és könyvtárak csoportját.

A szimbolikus hivatkozások feldolgozásakor rendkívül óvatosnak kell lennie, nehogy kárt tegyen a rendszerben.