Mokėjimo būdai Abuse

CHGRP LINUX komanda

14.12.2021, 10:30

Dažnai naudodami "Linux" naudotojai retai galvoja apie tai, kam priklauso failas. Tačiau kai reikia paleisti serverį, situacija pasikeičia. Siekiant padidinti saugumą, serveriui suteikiamas atskiras naudotojas. Neretai serveriai naudoja tą pačią grupę, pavyzdžiui, www-data. Toliau pažiūrėkime, kaip ši funkcija veikia su failais ir katalogais. Ypatingą dėmesį skirsime simbolinėms nuorodoms, nes jos gali sukelti problemų naudojant nesaugius nustatymus.

Ką tai reiškia

Failų leidimų standartas į "Linux" atkeliavo iš "Unix". Taigi kiekvienas objektas turi naudotoją, grupė be to aprašokitų naudotojų teises(other). Teisės susideda iš trijų elementų: skaityti, rašyti, vykdyti. Leidimams keisti naudojama komanda umask, tačiau savininkui ir grupei tiesiogiai pakeisti naudojamos komandos chown. Norint peržiūrėti esamas teises, galima naudoti komandą ls.

Sintaksė ir parinktys

Bendras komandos chgrp vaizdas:

$ chgrp [options] new_group file_name

Bendrųjų komandos chgrp parinkčių sąrašas:

  1. -h - darbas tiesiogiai su pačiomis simbolinėmis nuorodomis;
  2. --dereference - darbas su failais, o ne pačiomis simbolinėmis nuorodomis. Naudojamos pagal numatytuosius nustatymus;
  3. -R - rekursinis katalogo su visu jo turiniu apdorojimas;
  4. -H - sekti simbolinę nuorodą ir keisti failo / katalogo atributus. Naudojama kartu su parametru -R;
  5. -L - sekti simbolinę nuorodą ir tęsti rekursinį apdorojimą. Naudojamas kartu su parametru -R;
  6. -P - susidūrus su simboline nuoroda, apdoroti tik ją. Naudojamas kartu su parametru -R, yra numatytoji reikšmė;
  7. --reference=file_name - naudoti pavyzdžių grupę;
  8. -c - apdorojant keičiasi tik išvestis;
  9. -v - išvesti informaciją apie kiekvieną apdorotą objektą.

Komandos naudojimas

Paprasčiausias komandos chgrp naudojimo pavyzdys. Toliau pateiktas keičia visą www-data objektą dabartiniame aplanke esančiam failui:

$ sudo chgrp www-data file.txt

Šis keičia aplanko grupę į www-data aplanką:

 $ sudo chgrp www-data folder

Komanda veikia labai nuspėjamai, keičiant jų grupę. Aplanko objektai lieka nepakitę. Jei tvarkomos simbolinės nuorodos, jų atributai išlieka nepakitę, tačiau objektas gauna naują grupę. Toks elgesys panašus į parametro --dereference tvarkymą.

Pavyzdžiui, šios komandos, taikomos simbolinėms nuorodoms, veiks taip, kaip parodyta paveikslėlyje:

$ sudo chgrp www-data sym_file.txt

Pažiūrėkime, kaip veiktų parametras -h, keičiantis simbolinės nuorodos atributus:

$ sudo chgrp -h www-data sym_file

Grupė nustatyta ne tik katalogui, bet ir visiems jame esantiems failams. Atkreipkite dėmesį, kad pasikeitė elgsena - dabar apdorojant simbolinę nuorodą atributai nustatomi pačiai nuorodai, o ne objektui.

Norėdami pamatyti skirtumą tarp -H ir -L parametrų, panagrinėkime dar porą pavyzdžių. Prisiminkite, kad jie turi būti naudojami kartu su -R:

$ sudo chgrp -RH www-data folder

Naudojant -H pasikeitė simbolinių nuorodų apdorojimo elgsena, dabar jos tvarkomos taip, tarsi funkcijos būtų vykdomos atskirai. Nuorodų atributai nesikeičia, keičiasi pačių objektų atributai, o rekursinis apdorojimas nutraukiamas perėjus į katalogą.

$ sudo chgrp -RL www-data folder

Atliekama viena funkcija - pakeičiama failų ir katalogų grupė.

Tvarkydami simbolines nuorodas turite būti labai atsargūs, kad nesugadintumėte sistemos.