Maksutavat Abuse

CHGRP LINUX -komento

14.12.2021, 10:30

Linuxia käyttäessään käyttäjät harvoin ajattelevat, kuka tiedoston omistaa. Kun kyseessä on palvelimen käyttö, tilanne kuitenkin muuttuu. Turvallisuuden lisäämiseksi palvelin saa oman käyttäjän. Ei ole harvinaista, että palvelimet käyttävät samaa ryhmää, kuten www-data. Katsotaan seuraavaksi, miten tämä toiminto toimii tiedostojen ja hakemistojen kanssa. Kiinnitämme erityistä huomiota symbolisiin linkkeihin, sillä ne voivat aiheuttaa ongelmia käytettäessä turvattomia asetuksia.

Mitä se tarkoittaa

Tiedoston käyttöoikeusstandardi tuli Linuxiin Unixista. Jokaisella objektilla on siis käyttäjä, ryhmä tämän lisäksi kuvaamuiden käyttäjien oikeuksia(other). Oikeudet koostuvat kolmesta kohdasta: read, write, execute. Oikeuksien muuttamiseen käytetään umask-komentoa, mutta chown-komennoilla vaihdetaan omistaja ja ryhmä suoraan. Komennolla ls voidaan tarkastella nykyisiä käyttöoikeuksia.

Syntaksi ja vaihtoehdot

Yleisnäkymä chgrp-komennosta:

$ chgrp [options] new_group file_name

Luettelo chgrp-komennon yleisistä vaihtoehdoista:

  1. -h - työskentelee suoraan itse symbolisten linkkien kanssa;
  2. --dereference - työskentely tiedostojen kanssa, ei itse symbolisten linkkien kanssa. Käytetään oletusarvoisesti;
  3. -R - rekursiivinen hakemiston ja sen koko sisällön käsittely;
  4. -H - seuraa symbolista linkkiä ja muuttaa tiedoston/hakemiston attribuutteja. Käytetään yhdessä -R-parametrin kanssa;
  5. -L - seuraa symbolista linkkiä ja jatkaa rekursiivista käsittelyä. Käytetään yhdessä -R-parametrin kanssa;
  6. -P - Kun kohtaat symbolisen linkin, käsittele vain sitä. Käytetään yhdessä -R-parametrin kanssa, on oletusarvo;
  7. --reference=file_name - käyttää esimerkkiryhmää;
  8. -c - tulostus muuttuu vain käsittelyn aikana;
  9. -v - tulostaa tietoja jokaisesta käsitellystä kohteesta.

Komennon käyttö

Yksinkertaisin esimerkki chgrp-komennon käytöstä. Seuraavassa muutetaan koko www-data-objekti nykyisen kansion tiedoston osalta:

$ sudo chgrp www-data file.txt

Ja tämä vaihtaa ryhmän www-data kansioon kansiossa:

 $ sudo chgrp www-data folder

Komento toimii hyvin ennustettavalla tavalla, muuttaen niiden ryhmän. Kansion objektit pysyvät muuttumattomina. Jos symbolisia linkkejä käsitellään, niiden attribuutit pysyvät ennallaan, mutta objekti saa uuden ryhmän. Tämä käyttäytyminen on samanlaista kuin --dereference-parametrin käsittely.

Esimerkiksi symbolisiin linkkeihin sovellettuna nämä komennot toimivat kuvakaappauksessa esitetyllä tavalla:

$ sudo chgrp www-data sym_file.txt

Katsotaanpa, miten symbolisen linkin attribuutteja muuttava -h-parametri toimisi:

$ sudo chgrp -h www-data sym_file

Ryhmä on asetettu hakemiston lisäksi myös kaikille sen sisällä oleville tiedostoille. Huomaa, että käyttäytyminen on muuttunut, nyt symbolista linkkiä käsiteltäessä attribuutit asetetaan itse linkille, ei objektille.

Jotta -H- ja -L-parametrien ero näkyisi, katsotaanpa vielä pari esimerkkiä. Muista, että niitä on käytettävä yhdessä -R:n kanssa:

$ sudo chgrp -RH www-data folder

Käyttämällä -H-parametria symbolisia linkkejä käsiteltäessä käyttäytyminen on muuttunut, niitä käsitellään nyt ikään kuin funktiot suoritettaisiin erikseen. Viittausten attribuutit eivät muutu, mutta itse objektien attribuutit muuttuvat, ja rekursiivinen käsittely pysähtyy, kun siirrytään hakemistoon.

$ sudo chgrp -RL www-data folder

Se suorittaa yhden toiminnon - se muuttaa tiedostojen ja hakemistojen ryhmää.

Kun käsittelet symbolisia linkkejä, sinun on oltava erittäin varovainen, ettet vahingoita järjestelmää.