Chown

From EIK wiki

Autor

Roland Kaur A21.

Sissejuhatus ja ülevaade

Käesolevas dokumendis on ära kirjeldatud käsu chown (lühend inglisekeelsest sõnapaarist change owner - eesti keeles vaheta omanikku) omadused ja käsuformaat ning lisatud kasutusjuhend. Käsku chown kasutatakse UNIXi-laadsetes operatsioonisüsteemides faili ja/või kausta omaniku ja/või grupi muutmiseks. Eelmainitud käsuga saab tavakasutaja muuta failide ja/või kaustade gruppi, kui ta on eelnevalt selle sama faili/kausta omanik (sarnanev chgrp käsu funktsionaalsusele). Juurkasutaja (root) õiguseid omav kasutaja võib aga seda käsku kasutades muuta kõikide failide ja kasutade omanikku ja gruppi. Dokumentatsiooni mõistmiseks on vajalikud algtasemel teadmised UNIXi-laadsetest operatsioonisüsteemidest ja käsureast.

Käsu formaat [3]

chown [-fhv] [-R [-H | -L | -P]] omanik[:grupp] fail ...
chown [-fhv] [-R [-H | -L | -P]] :grupp fail ...
chown [-fhv] [-R [-H | -L | -P]] --reference=RFILE fail ...

Omanik ja grupp operandid on mõlemad valikulised, kuid vähemalt üks peab olema kasutuses.

Võtmete kirjeldused [2][3][4]
-f, --silent, --quiet Vaigistab veateated. Ei kuvata veateateid kui toiming ebaõnnestus.
--reference=RFILE Määrab faili/kausta omanikuks ja grupiks RFILE'i omaniku ja grupi.
-h, --no-dereference Kui tegemist on failile/kaustale suunava nimelingiga (symbolic link), siis muudetakse nimelingi omanik ja grupp, mitte faili/kausta millele see link suunatud on.
--from=CURRENT_OWNER:CURRENT_GROUP Muudab failil/kaustal omaniku ja/või grupi ainult tingimusel, kui selle olemasolev omanik ja grupp vastavad käsus täpsustatule.
-v, --verbose Iga töödeldud faili/kausta kohta väljastatakse detailne kirjeldus toimingust.
-c, --changes Sama mis -v, kuid väljastab kirjelduse ainult nendest toimingutest, kus reaalselt faili/kausta muudeti.
--dereference Muudab faili/kausta omaniku ja/või grupi millele nimelik (symbolic link) on suunatud, kuid nimelinki ennast ei muuda.
-R, --revursive Muudab omaniku ja/või gruppi 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 tegemist on nimelingiga (symbolic link), mis on suunatud kaustale, siis muudab omaniku ja/või gruppi lisaks nimelingile ka kõikidel viidatud kaustas sisalduvatel failidel/kaustadel.
-L Omaniku ja grupi muutmine kandub edasi läbi iga kohatud nimelingi ning nende viidatud faili/kausta (symbolic link).
-P Muudab omaniku ja grupi ainult nimelinkidel (symbolic link), failid/kaustad millele need viitavad jäävad puutumata.


Lisavõtmed info jaoks.

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

Näited

Näidetes on kasutatud käsku ls -l [failinimi], mis väljastab lisaks muudele atribuutidele ka vastava faili omaniku ning grupi. Legend:

-rw-rw-r-- 1 omanik grupp 34 Nov 11 15:14 fail
Näide 1
  • Kuvatakse faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on miki ja grupiks disney:
-rw-rw-r--. 1 miki disney 34 Nov 11 15:14 fail
  • Tavakasutaja üritab /kaust/fail omanikku muuta mikist ruudiks ilma tavakasutaja õigustega ning sudo käsklust lisamata.[1]
chown ruudi /kaust/fail
  • Järgeb väljund, mis viitab sellele, et kasutajal pole toiminguks vastavaid õigusi:
chown: changing ownership of ´/kaust/fail': Operation not permitted 
Näide 2
  • Kuvatakse faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on miki ja grupiks disney:
-rw-rw-r--. 1 miki disney 34 Nov 11 15:14 fail
  • Tavakasutaja määrab /kaust/fail uueks omanikuks ruudi lisades käsu ette sudo käskluse, mis võimaldab tal tervet käsku täita tavakasutajast kõrgemate õigustega (peale sudo käsu sisestamist nõutakse kasutajalt vastavate õiguste omandamiseks parooli):[1]
sudo chown ruudi /kaust/fail 
  • Kuvatakse taas faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et omanik ei ole enam miki vaid ruudi:
-rw-rw-r--. 1 ruudi disney 34 Nov 11 15:15 fail
Näide 3
  • Kuvatakse faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on miki ja grupiks disney:
-rw-rw-r--. 1 miki disney 34 Nov 11 15:14 fail
  • Juurkasutaja (root-kasutaja) määrab /kaust/fail uueks omanikuks ruudi ja grupiks kamp.[1]
chown ruudi:kamp /kaust/fail 
  • Kuvatakse taas faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et omanik ei ole enam miki vaid ruudi ja grupp ei ole enam disney vaid kamp:
-rw-rw-r--. 1 ruudi kamp 34 Nov 11 15:15 fail
Näide 4
  • Kuvatakse kausta atribuudid kasutades käsklust ls -l vastavas kaustas, kus kaust asub:
ls -l
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on miki ja grupiks disney:
drw-rw-r--. 1 miki disney 34 Nov 11 15:14 kaust
  • Kuvatakse faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on miki ja grupiks disney:
-rw-rw-r--. 1 miki disney 34 Nov 11 15:14 fail
  • Juurkasutaja (root-kasutaja) määrab /kaust-nimelise kausta ja kõikide selle alamkaustade ning nendes sisalduvate failide uueks omanikuks ruudi. Kui käsk kohtab nimelinki (symbolic link), siis muudetakse vaid nimelingi omanik, mitte faili või kausta millele see suunatud on.[1]
chown -hR ruudi /kaust 
  • Kuvatakse taas kausta atribuudid kasutades käsklust ls -l vastavas kaustas, kus kaust asub:
ls -l
  • Eelneva käsu tulemus, mis näitab ära, et kausta omanikuks on nüüd ruudi mitte miki:
drw-rw-r--. 1 ruudi disney 34 Nov 11 15:14 kaust
  • Kuvatakse taas faili atribuudid:
ls -l /kaust/fail
  • Eelneva käsu tulemus, mis näitab ära, et faili omanikuks on nüüd ruudi mitte miki:
-rw-rw-r--. 1 ruudi disney 34 Nov 11 15:14 fail
Näide 5
  • Juurkasutaja (root-kasutaja) määrab /kaust-nimelise kausta ja kõikide selle alamkaustade ning nendes sisalduvate failide uueks omanikuks ruudi ja grupiks kamp. [1]
chown -vR ruudi:kamp /kaust
  • Kuna lisatud on -v võti, siis väljastakse jooksvalt informatsiooni tehtavatest toimingutest:
changed ownership of `/kaust/fail' to ruudi:kamp
changed ownership of `/kaust' to ruudi:kamp

Kokkuvõte

chown käsk on enamjaolt mõeldud kui juurkasutaja tööriist, kuna juurkasutaja (root) õiguseid kasutades, on seda käsku lihtne ilma piiranguteta kasutada. Tavakasutaja õigustega chown-i kasutamine nõuab rohkem läbi mõtlemist ja failiõiguste tundmist.

Kasutatud kirjandus

Kogu dokumentatsioon on kirjutatud tuginedes järgnevatele allikatele ja juhenditele:
[1] http://www.thegeekstuff.com/2012/06/chown-examples/
[2] http://linux.die.net/man/1/chown
[3] https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/chown.8.html
[4] http://linuxcommand.org/man_pages/chown1.html