Makseviisid Abuse

CHGRP LINUX käsk

14.12.2021, 10:30

Sageli mõtlevad kasutajad Linuxi kasutamisel harva sellele, kellele fail kuulub. Kui aga tegemist on serveri käitamisega, siis olukord muutub. Turvalisuse suurendamiseks saab server oma kasutaja. Ei ole ebatavaline, et serverid kasutavad sama gruppi, näiteks www-data. Järgnevalt vaatame, kuidas see funktsioon toimib failide ja kataloogidega. Erilist tähelepanu pöörame sümboolsetele linkidele, sest need võivad ebaturvaliste seadete kasutamisel probleeme tekitada.

Mida see tähendab

Failiõiguste standard tuli Linuxi Unixist. Nii et igal objektil on kasutaja, grupp kirjeldab lisaks selleleteiste kasutajate õigusi(other). Õigused koosnevad kolmest elemendist: read, write, execute. Õiguste muutmiseks kasutatakse umask käsku, aga omaniku ja grupi vahetamiseks otse chown käske. Praeguste õiguste vaatamiseks saab kasutada käsku ls.

Süntaks ja valikud

Chgrp käsu üldvaade:

$ chgrp [options] new_group file_name

Loetelu chgrp käsu üldvalikutest:

  1. -h - töötab otse sümboolsete linkidega ise;
  2. --dereference - töö failidega, mitte sümboolsete linkidega endaga. Kasutatakse vaikimisi;
  3. -R - kataloogi rekursiivne töötlemine koos kogu selle sisuga;
  4. -H - järgib sümboolset linki ja muudab faili/kataloogi atribuute. Kasutatakse koos parameetriga -R;
  5. -L - järgib sümboolset linki ja jätkab rekursiivset töötlemist. Kasutatakse koos parameetriga -R;
  6. -P - sümboolse lingi leidmisel töötleb ainult seda. Kasutatakse koos parameetriga -R, on vaikeväärtus;
  7. --reference=file_name - kasutada näidisgruppi;
  8. -c - väljund muutub ainult töötlemisel;
  9. -v - väljastada teavet iga töödeldud objekti kohta.

Käsu kasutamine

Lihtsaim näide käsu chgrp kasutamise kohta. Järgnevalt muudetakse kogu www-data objekti faili jaoks praeguses kaustas:

$ sudo chgrp www-data file.txt

Ja see muudab grupi www-data kausta kausta jaoks:

 $ sudo chgrp www-data folder

Käsk töötab väga etteaimatavalt, muutes nende gruppi. Kaustas olevad objektid jäävad muutumatuks. Kui käsitsetakse sümboolseid linke, jäävad nende atribuudid muutumatuks, kuid objekt saab uue grupi. See käitumine on sarnane parameetri --dereference käitlemisega.

Näiteks toimivad need käsud sümboolsete linkide suhtes rakendatuna nii, nagu on näidatud ekraanipildil:

$ sudo chgrp www-data sym_file.txt

Vaatame, kuidas töötaks sümboolse lingi atribuute muutev -h parameeter:

$ sudo chgrp -h www-data sym_file

Rühm on määratud mitte ainult kataloogile, vaid ka kõigile selle sees olevatele failidele. Pange tähele, et käitumine on muutunud, nüüd seatakse sümboolse lingi töötlemisel atribuudid lingile endale, mitte objektile.

Et näha erinevust parameetrite -H ja -L vahel, vaatame veel paar näidet. Tuletame meelde, et neid tuleb kasutada koos parameetriga -R:

$ sudo chgrp -RH www-data folder

Kasutades -H on käitumine sümboolsete linkide töötlemisel muutunud, neid käsitletakse nüüd nii, nagu oleksid need funktsioonid täidetud eraldi. Viidete atribuudid ei muutu, objektide endi atribuudid küll ja rekursiivne töötlemine peatub kataloogi vahetamisel.

$ sudo chgrp -RL www-data folder

See täidab ühte funktsiooni - muudab failide ja kataloogide rühma.

Sümboolsete linkide töötlemisel tuleb olla äärmiselt ettevaatlik, et mitte kahjustada süsteemi.