2. Failiatribuutide käsitlemine

Alljärgnevalt toodavate käskudega saab muuta faili omanikku või gruppi või õigusi. Erinevatest õigustest kõneles juba eespool Peatükk 1, UNIX-i süsteemide põhitõed.

2.1. chown, chgrp: ühe või enama faili omaniku ja grupi muutmine

Käsu chown (CHange OWNer) süntaks on järgmine:

chown [võtmed] <kasutaja[:grupp]> <fail|kataloog> [fail|kataloog...]

Tähtsamad võtmed on järgmised:

  • -R: rekursiivne. See võimaldab muuta mingi kataloogi kõigi failide ja alamkataloogide omanikku.

  • -v: jutukas režiim. Näitab kõiki käsu chown sooritatavaid toiminguid, andes teada, millised failid muutsid käsu tõttu omanikku, millised aga mitte.

  • -c: nagu -v, kuid annab teada ainult failidest, mida muudeti.

Mõned näited:

  • chown nobody /shared/raamat.tex: muudab faili /shared/raamat.tex omanikuks nobody.

  • chown -Rc queen:music *.mid kontserdid/: muudab kõigi aktiivse kataloogi failide, mille nime lõpus seisab .mid, ning kõigi kataloogi kontserdid/ failide ja alamkataloogide omanikuks queen ja grupiks music, andes samas teada ainult failidest, mida käsuga muudeti.

Käsk chgrp (CHange GRouP) võimaldab muuta faili või failide gruppi. Selle süntaks on väga sarnane käsuga chown:

chgrp [võtmed] <grupp> <fail|kataloog> [fail|kataloog...]

Selle käsu võtmed sarnanevad käsu chown ning nende kasutaminegi on väga sarnane. Nii muudab käsk chgrp disk /dev/hd* kõigi selliste failide gupiks kataloogis /dev, mille nime alguses seisab hd, grupi disk.

2.2. chmod: failide ja kataloogide õiguste muutmine

Käsul chmod (CHange MODe) on väga eriline süntaks. See näeb välja esmapilgul suhteliselt tavaline:

chmod [võtmed] <muutmisrežiim> <fail|kataloog> [fail|kataloog...]

Eriliseks muudab selle aga mitu erinevat viisi, milles muutmisrežiim võib väljenduda. Põhimõtteliselt saab see olla kahesugune:

  1. kaheksandsüsteemis. Omaniku õigused vastavad sel juhul arvule kujul <x>00, kus <x> tähistab omistatud õigust: 4 lugemise, 2 kirjutamise ja 1 käivitamise õigust. Grupi õigused esitatakse kujul <x>0 ning “teiste” õigused kujul <x>. Seejärel tuleb vajaliku režiimi leidmiseks kõik need kolm arvu kokku liita. Niisiis vastab õigustele rwxr-xr-- 400+200+100 (omaniku õigused rwx) +40+10 (grupi õigused r-x) +4 (teiste õigused r--) = 754. See väljendab õigusi absoluutse väärtusena, mis tähendab, et igasugused varasemad õigused asendatakse ilma igasuguste mööndusteta;

  2. avaldised. Õigusi väljendatakse sel juhul komadega eraldatud avaldiste jadana. Avaldis võtab niisiis järgmise kuju: [kategooria]<+|-|=><õigused>.

    Kategooria võib olla üks järgmistest:

    • u (User, omaniku õigused);

    • g (Group, omanikugrupi õigused);

    • o (Others, õigused “teiste” jaoks).

    Kui kategooria on määramata, rakendatakse muudatusi kõigile kategooriatele. Sümbol + lisab õiguse, - eemaldab õiguse ja = määrab õiguse. Õigus ise võib olla üks järgmistest:

    • r (Read, lugemise õigus),

    • w (Write, kirjutamise õigus) või

    • x (eXecute, käivitamise õigus).

Peamised võtmed on üsna sarnased käskude chown ja chgrp võtmetega:

  • -R: muudab õigusi rekursiivselt.

  • -v: jutukas režiim. Näitab iga failiga sooritatud toiminguid.

  • -c: nagu -v, aga näitab ainult faile, mille puhul käsk midagi muutis.

Näited:

  • chmod -R o-w /shared/dokud: eemaldab rekursiivselt teiste kirjutamisõiguse kõigile failidele ja alamkataloogidele kataloogis /shared/dokud/.

  • chmod -R og-w,o-x privaat/: eemaldab rekursiivselt grupi ja teiste kirjutamisõiguse kogu kataloogile privaat/ ning eemaldab teiste käivitamisõiguse.

  • chmod -c 644 muud/fail*: muudab kõigi failide õiguseks kataloogis muud/, mille nime alguses seisab fail, rw-r--r-- (s.t. lugemisõigus kõigile ja kirjutamisõigus ainult omanikule) ning annab teada ainult käsuga muudetud failidest.