Chgrp

From EIK wiki

Autor

Reigo Mägi A21

Ülevaade

Antud tekst on ülevaade chgrp (change group ehk vaheta gruppi) käsu omadustest ning kasutusest. Chgrp käsku kasutatakse UNIXi-laadsetes süsteemides failide, kaustade ja linkide grupi muutmiseks. Chgrp käsku saavad kasutada kasutajad, kes kuuluvad muudetavatesse gruppidesse. Juurkasutaja (root) õigust omav kasutaja saab muuta iga grupi omanikku, olenemata kas ta kuulub gruppi või mitte.

Käsu Formaat

chgrp [võtmed] uus_grupp fail/kaust


Võtmete kirjeldused

-c, --changes Sama mis -v, kuid väljastab teate ainult nendest toimingutest, kus reaalselt faili/kausta muudeti.
-f, --silent, --quiet Vaigistab veateated, kui toiming ebaõnnestus.
-v, --verbose Iga töödeldud faili/kausta kohta väljastatakse detailne kirjeldus toimingust.
--dereference Muudab faili/kausta grupi omaniku millele nimelink on suunatud, kuid nimelinki ennast ei muuda.
-h, --no-dereference Kui tegemist on failile/kaustale suunava nimelingiga, siis muudetakse nimelingi grupp, mitte faili/kausta millele see link suunatud on.
--no-preserve-root Ei kohtle / märki mingil erilisel moel.
--preserve-root Ei tööta rekursiivselt /.
--reference=RFILE Kasutab RFILE'i gruppi selle asemel et defineerida GROUP väärtust.
-R, --recursive Muudab grupi omanikku lisaks kaustale endale ka kõikidel selles kaustas sisalduvatel failidel/kaustadel.


Järgnevad võtmed toimivad vaid koos -R võtmega ning võimaldavad teostada selle võtmega seonduvaid täpsemaid muudatusi. Kui järgnevatest võtmetest on käsule lisatud rohkem kui üks, siis jõustub ainult viimane sisestatud:

-H Kui käsurea argument on sümboolne link, siis muudab grupi omaniku lisaks nimelingile ka kõikidel viidatud kaustas sisalduvatel failidel/kaustadel.
-L Grupi omaniku muutmine kandub edasi läbi iga kohatud nimelingi ning nende viidatud faili/kausta.
-P Muudab grupi omaniku ainult nimelinkidel, failid/kaustad millele need viitavad jäävad puutumata.


Lisavõtmed

--help Väljastab info käsu kohta.
--version Väljastab info versiooni kohta.

Näited "chgrp" kasutusest

Selgitus:

Selleks, et näha grupi õigusi kasutame kõigepealt käsku ls -l, varjatud failide puhul ls -la

Selgitus 2:

Selleks, et näha kuhu gruppi kuulub hetkel süsteemis olev kasutaja, kasutatakse käsku groups

Näide käsu ls -l väljundist:

-rwxr-xr-x 1 kasutaja grupp 1560 Nov 12 18:39 fail
  • Juurkasutaja (root) muudab file.txt grupiks staff 'i [4].
ls -l file.txt

-Käsu ls -l väljund.

-rwxrwx--- 1 robi robi 35 Jun 13 21:14 file.txt

-file.txt uueks grupiks määratakse staff

chgrp staff file.txt
ls -l file.txt

-Käsu ls -l väljund, mis näitab et file.txt uueks grupiks on staff.

-rwxrwx--- 1 robi staff 35 Jun 13 21:14 file.txt
  • Juurkasutaja (root) muudab kausta /office/files ja kõikide tema alamkataloogide grupiks supervisor 'i [2].
chgrp -hP supervisor /office/files
  • Juurkasutaja (root) muudab kõikide .conf lõpuga failide grupiks staff 'i [1].
ls -l *.conf

-Eelneva käsu väljund, mis nätab et kõikide .conf lõpuga failide grupiks on wheel.

-rw-rw-r--   1 gbeeker  wheel           3545 Nov 04 2011  prog.conf
-rw-rw-r--   1 gbeeker  wheel           3545 Nov 04 2011  prox.conf

-Kõik .conf lõpuga failide grupiks määratakse staff

 chgrp staff *.conf
 ls -l *.conf

-Eelmise käsu väljund, millega kontrollime et uueks grupiks on staff.

-rw-rw-r--   1 gbeeker  staff          3545 Nov 04 2011  prog.conf
-rw-rw-r--   1 gbeeker  staff          3545 Nov 04 2011  prox.conf
  • Tavakasutaja muudab gruppi kuhu ta ise kuulub ning gruppi kuhu ta ei kuulu [5].

-Tavakasutaja kasutab kõigepealt käsku groups, et näha millistesse gruppidesse ta kuulub.

groups
class users management sales accounting operators

-Tavakasutaja muudab file grupiks grupi class 'i.

chgrp class file
ls -l  file

-Eelneva käsu väljund, millega kontrollime et file uueks grupiks on class.

-rw-r--r-- 1 terdon class 531 Apr 15 19:17 file

-Tavakasutaja muudab file grupiks grupi loans.

chgrp loans file

-Antud käsklus ei läinud läbi, kuna tavakasutaja ei kuulu loans gruppi ning tal puudub õigus seda muuta.

chgrp: changing group of ‘file’: Operation not permitted

Kokkuvõte

Chgrp käsu õigus on kõigil kasutajatel, kuid tavakasutaja peab enne selle käsu täitmist veenduma, et ta kuulub gruppidesse, mille õigusi ta muutma hakkab. Chgrp käsku on lihtsam kasutada juurkasutaja (root) õiguste all. Minu arvates on chgrp üpris kerge käsk, kuigi gruppi saab muuta ka chown käsuga, siis mina eelistaksin lihtsuse mõttes pigem chgrp käsku.

Kasutatud Materjal

[1] http://en.wikipedia.org/wiki/Chgrp

[2] http://www.computerhope.com/unix/uchgrp.htm

[3] http://linux.die.net/man/1/chgrp

[4] http://www.mediacollege.com/linux/command/chgrp.html

[5] http://unix.stackexchange.com/questions/125785/why-cannot-a-user-change-group-ownership-of-his-own-files?rq=1