Linuxi faililubade ja chmod käsu täielik juhend: õiguste seadistamine, kontroll ja parimad tavad

目次

1. Sissejuhatus

Mis on “juurdepääsuõigused” Linuxis?

Linuxi ja Unixi-põhistes süsteemides on failide ja kataloogide “juurdepääsuõiguste” (permissions) korrektne haldamine väga oluline. See on hädavajalik nii turvalisuse seisukohalt kui ka süsteemi stabiilse toimimise jaoks.

Paljud inimesed on faililoendi terminalis vaadates märganud tundmatuid sümboleid nagu -rw-r--r-- ja mõelnud: “Mida need tähendavad?”

chmod ja -rw-r–r– seos

Sellised sümbolid näitavad faili juurdepääsuõigusi. Õiguste määramiseks või muutmiseks kasutatakse chmod käsku. Ehk siis, kui annate failile õigused chmod abil, kuvatakse tulemuseks näiteks -rw-r--r--.

Artikli eesmärk ja sihtrühm

Selles artiklis selgitan lihtsalt, mida -rw-r--r-- tegelikult tähendab ja kuidas chmod käsku õiguste seadistamiseks või muutmiseks kasutada, nii et ka algajad saaksid sellest aru. Samuti käsitlen turvakaalutlusi ja praktilisi näiteid.

Artikkel on mõeldud nii Linuxi esmakasutajatele kui ka neile, kes on juba terminaliga veidi tuttavad, et anda edasi praktilisi teadmisi, mida saab reaalselt töös rakendada.

年収訴求

2. Mis on chmod? [Põhiteadmised]

chmod käsu roll

chmod (hääldus: tšomod või change mode) tuleb sõnadest “change mode” ning see on käsk failide ja kataloogide juurdepääsuõiguste muutmiseks Linuxi ja Unixi süsteemides.
Selle käsuga saab paindlikult määrata, kes ja milliseid toiminguid (lugemine, kirjutamine, käivitamine) võib teha.

Õigete faililubade seadmine on väga oluline, sest see mõjutab nii turvalisust kui ka failide jagamise ja käivitamisega seotud probleemide vältimist.

chmod põhisüntaks

chmod [valikud] [õigused] failinimi

Näiteks kasutatakse nii:

chmod 644 sample.txt

See käsk muudab sample.txt õigused järgnevaks:

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • Omanik (user): lugemine ja kirjutamine lubatud (rw-)
  • Grupp (group): ainult lugemine (r–)
  • Teised (others): ainult lugemine (r–)

Kaks määramismeetodit: numbriline ja sümboolne

chmod puhul saab õigusi määrata kahel moel:

  • Numbriline määramine
  • Näide: chmod 755 script.sh
  • Määrad iga kasutajatüübi õigused numbriga.
  • Sümboolne määramine
  • Näide: chmod u=rw,g=r,o=r file.txt
  • u (omanik), g (grupp), o (teised); r (lugemine), w (kirjutamine), x (käivitamine)

Mõlemad viisid viivad sama tulemuseni: numbriline on kiire, sümboolne võimaldab paindlikumat muutmist. Kasuta vastavalt vajadusele.

chmod ja chown erinevus

Tihti aetakse segi chown käsuga:

  • chmod: muudab juurdepääsuõigusi (permissions)
  • chown: muudab faili või kausta omanikku või gruppi

Eesmärk on erinev, seega oluline teada, kumb mida teeb.

3. -rw-r–r– tähenduse lahtiseletamine

Õiguste sümbolite struktuur

Kui käivitad Linuxis käsu ls -l, kuvatakse failide info näiteks sellisel kujul:

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

Vasakul ääres olev -rw-r--r-- tähistab faili õiguseid (permissions). Neid mõistes saad aru, kes mida võib teha.

Iga osa detailne selgitus

① Esimene sümbol: faili tüüp

SümbolTähendus
-Tavaline fail
dKataloog (directory)
lSümboolne link (symlink)
bBlokkseade (block device)
cMärgiseade (character device)

Käesolevas -rw-r--r-- näites tähendab esimene -, et tegu on tavalise failiga.

② 2.–10. sümbol: õigused (3×3 tähte)

  • Omanik (user): rw- – lugemine ja kirjutamine lubatud, käivitamine mitte.
  • Grupp (group): r-- – ainult lugemine.
  • Teised (others): r-- – ainult lugemine.

Nii on ainult omanikul kirjutusõigus, ülejäänud saavad ainult lugeda.

Numbrilise tähise vastavus: 644

Linuxis saab samu õigusi väljendada ka numbritega (oktaalarvudes).

-rw-r--r-- vastab numbrina 644.

KasutajatüüpSümbolitähisArvTähendus
Omanikrw-6Lugemine + kirjutamine
Gruppr--4Ainult lugemine
Teisedr--4Ainult lugemine

Numbriline väärtus arvutatakse nii:

  • Lugemine (r) = 4
  • Kirjutamine (w) = 2
  • Käivitamine (x) = 1

Seega, rw- = 4 + 2 = 6, r-- = 4, r-- = 4, kokku 644.

Miks kasutatakse just neid õiguseid?

-rw-r--r-- (644) on väga levinud õigused avalike failide ja veebiserveri staatiliste failide (HTML, CSS jne) puhul.

  • Ainult omanik saab muuta – hoiab ära soovimatud muudatused
  • Teised saavad lugeda – võimaldab jagada või avalikustada faili

Õige kasutamise korral saad ühendada turvalisuse ja kasutusmugavuse.

4. Kuidas seadistada -rw-r–r– chmod abil [praktika]

Õiguste muutmine chmod käsuga

Failide ja kataloogide õiguseid saab vabalt muuta chmod käsuga. Kui soovid seada -rw-r--r--, kasuta õiguseks “644”.

Numbrilise määramise näide

Käsk on kujul chmod 644 failinimi.

chmod 644 document.txt

See muudab document.txt õigused järgnevaks:

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • Omanik: lugemine ja kirjutamine (rw-)
  • Grupp: ainult lugemine (r–)
  • Teised: ainult lugemine (r–)

Sümboolse määramise näide

Paindlikumaks määramiseks kasuta sümboolset vormi:

chmod u=rw,g=r,o=r document.txt

Käsk tähendab:

  • u=rw – omanikule lugemis- ja kirjutamisõigus
  • g=r – grupile ainult lugemisõigus
  • o=r – teistele ainult lugemisõigus

Lõpptulemus on sama mis numbriga 644.

Kataloogi puhul oluline tähelepanek

Erinevalt failidest vajab kataloog käivitamisõigust (x), et saaks selle sisu näha.

Näiteks:

chmod 644 my_folder

Sellise seadega võib juhtuda, et kataloogi sisu pole nähtav, sest puudub käivitamisõigus.

Õige seadistus:

chmod 755 my_folder
  • Omanik: lugemine, kirjutamine, käivitamine
  • Grupp/teised: lugemine, käivitamine

Nii saavad teised kasutajad kataloogi sisu vaadata.

Õiguste muutmine rekursiivselt: -R valik

Kui tahad muuta mitme alamkausta ja faili õigusi korraga, kasuta -R (rekursiivne) valikut:

chmod -R 644 my_folder

Nii saad kõigile my_folder sees olevatele failidele õigused 644, kuid NB! kasuta seda ettevaatlikult.

5. Kuidas kontrollida õigusi käsuga ls -l

Kuidas vaadata faili või kausta õigusi?

Faili või kataloogi õiguste (permissions) kontrollimiseks kasuta Linuxis käsku ls -l. See näitab infot pikemas vormis (long listing format), sealhulgas õigused, omanik, grupp, suurus, viimase muutmise aeg jne.

Põhiline kasutusviis

ls -l

Käsu tulemus näeb välja näiteks nii:

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

Iga veerg tähendab järgmist:

VeergTähendus
-rw-r--r--Õigused (permissions)
1Kõvaviidete arv (tavaliselt 1)
naoyaOmanik (user)
devsGrupp (group)
2048Faili suurus baitides
Apr 13 20:00Viimase muutmise aeg
index.htmlFaili nimi

Kuidas lugeda õiguste veergu

Peamine koht, mida vaadata, on -rw-r--r--. See jaguneb järgmiselt:

  • Esimene sümbol: faili tüüp
  • -: tavaline fail
  • d: kataloog
  • l: sümboolne link
  • Järgmised 9 sümbolit: õigused (3+3+3)
  • Omanik (user): rw- – lugemine + kirjutamine
  • Grupp (group): r-- – ainult lugemine
  • Teised (others): r-- – ainult lugemine

Sellest loed välja, et “seda faili saab muuta ainult omanik, teised saavad ainult lugeda”.

Kuidas vaadata konkreetse faili õigusi

Konkreetse faili õiguste kontrollimiseks lisa failinimi:

ls -l index.html

Nii näed ainult valitud faili infot – mugav paljude failidega kataloogis.

Kataloogi õiguste kontroll sama moodi

Ka kataloogide puhul töötab ls -l, kuid kui soovid näha ainult kataloogi enda infot (mitte selle sisu), kasuta -d valikut:

ls -ld my_folder

Nii kuvatakse ainult my_folder õigused, mitte sees olevad failid.

Õiguste kontroll ja turvaline haldus

Pärast chmod käsu kasutamist on soovitatav alati kontrollida tulemusi ls -l abil.
Vale seadistus võib põhjustada turvaprobleeme või ootamatut käitumist.

Kui soovid vaadata korraga mitme faili õiguseid, kasuta näiteks järgmist:

ls -l | grep '.sh'

See kuvab ainult .sh (shell skriptid) laiendiga failid.

6. Õiguste vaatamine ja muutmine GUI-tööriistadega (algajatele)

Alternatiiv käsureale algajatele

Linuxi haldus põhineb sageli käsureal, kuid paljudele algajatele tundub see keeruline või eksimisvõimalus liiga suur.
Õnneks saab õigusi kontrollida ja muuta ka graafilise kasutajaliidese (GUI) abil.

Failihaldur Nautilus (Ubuntu)

Paljudel Linuxi distributsioonidel, näiteks Ubuntul, on vaikimisi failihaldur “Nautilus” (sarnane Windows Explorerile).

Kuidas kontrollida:

  1. Paremklõpsa failil või kataloogil
  2. Vali “Omadused” (Properties)
  3. Ava sakk “Õigused” või “Permissions”

Seal saab:

  • Kontrollida ja muuta omanikku või gruppi (vajadusel administraatori õigusi)
  • Lugemis-, kirjutamis- ja käivitusõigusi muuta
  • Muudatused rakenduvad kohe

Graafilises vaates kuvatakse õigused sõnadega (nt “ainult lugemine”, “lugemine ja kirjutamine”), seega on see algajatele lihtne.

WinSCP (Windowsi kasutajatele, SFTP kliendi näide)

Kui ühendud Linuxi serveriga Windowsist, võimaldab WinSCP seadistada õigusi GUI-s.

Kasutamisjuhis:

  1. Logi WinSCP-ga serverisse
  2. Paremklõpsa failil – vali “Omadused”
  3. Muuda õigusi numbriliselt (nt 644) või märkeruutudega
  4. Kinnita muudatus “OK” nupuga

Eelised:

  • Õigusi saab kontrollida nii numbriliselt kui sümboolselt
  • Kogu kataloogi õiguste rekursiivne muutmine võimalik

Märkus:

  • Root-failide muutmiseks on vaja sudo-õigusi
WinSCP - Free SFTP and FTP client

WinSCP is a popular free file manager for Windows supporting…

FileZilla (platvormideülene SFTP klient)

Sama saab teha FileZilla abil, mis töötab Macis, Windowsis ja Linuxis.

Kuidas kasutada:

  1. Ühendu serveriga, tee failil paremklõps
  2. Vali “Faili õigused” (File Permissions)
  3. Muuda õigusi märkeruutude või numbritega, kinnita “OK”-ga

GUI eelised ja puudused

Eelised:

  • Algajatel väiksem eksimisvõimalus
  • Muudatused on kohe visuaalselt nähtavad
  • Käsurea oskust pole vaja

Puudused:

  • Mõnes serveris ei pruugi kõik muudatused GUI kaudu toimida
  • Vahel võib GUI näitamine erineda tegelikest õigustest – soovitatav on kontrollida ka ls -l käsuga

FileZilla - The free FTP solution for both client and server…

7. chmod kasutamise tähelepanekud ja tõrkeotsing

Miks õiged seadistused mõnikord ei toimi?

Pärast chmod käsu kasutamist võib juhtuda, et fail või skript ei tööta oodatult. Enamasti on põhjuseks valed õigused või arusaamatused õiguste osas.
Siin vaatleme levinumaid praktilisi probleeme ja nende lahendusi.

Permission denied – vea põhjused ja lahendused

Sümptom:

bash: ./script.sh: Permission denied

Põhjus:

  • Failil puudub käivitamisõigus (x).

Lahendus:

chmod +x script.sh

Või numbrilisel kujul:

chmod 755 script.sh

Pane tähele, et isegi kui lugemis- ja kirjutamisõigus on olemas, pole skripti võimalik käivitada ilma x-õiguseta.

Kataloog vajab käivitamisõigust (x)

Kui määrad kataloogile chmod 644, ei pruugi selle sisu enam nähtav olla.

Põhjus:

  • Kataloog vajab käivitamisõigust (x), et oleks võimalik “sisse minna” ja selle sisu näha.

Näide:

chmod 644 my_folder
ls my_folder

→ Sellisel juhul võib tekkida viga ning kataloogi sisu ei kuvata.

Lahendus:

chmod 755 my_folder

Rekursiivse muutmise (-R) varjatud ohud

chmod -R on mugav, kuid see rakendab kõikjal samad õigused – nii failidele kui ka kataloogidele, mis võib põhjustada ootamatuid probleeme.

Levinud viga:

chmod -R 644 /var/www/html

→ Kõik kataloogid kaotavad käivitamisõiguse ja nende sisu pole enam nähtav.

Õige kasutus:

# Kataloogidele 755
find /var/www/html -type d -exec chmod 755 {} \;

# Failidele 644
find /var/www/html -type f -exec chmod 644 {} \;

Omaniku ja grupi õiguste segiajamise vead

Tähtis on arvestada mitte ainult õigustega (chmod), vaid ka omanikuga (chown).
Näiteks: kui veebiserveri kasutaja (nt apache) peab faili lugema, kuid omanik on tavaline kasutaja ja teistel pole lugemisõigust, siis veebis ei tööta asi korralikult.

Lahendus:

  • Muuda omanikku: sudo chown www-data:www-data index.html
  • Lisa grupiõigus: chmod 640 index.html (kui grupp on õigesti seatud)

777 – miks see on ohtlik?

Probleemide korral kiputakse mõnikord seadma chmod 777, et “kõik töötaks”, kuid see on väga ohtlik!

Põhjused:

  • Kõik võivad lugeda, kirjutada ja käivitada – ka pahatahtlikud kasutajad
  • Suur risk failide rikkumiseks või pahatahtlike skriptide käivitamiseks

Soovituslikud baasseaded:

  • Failid: 644 või 600
  • Kataloogid: 755 või 700
  • Skriptid/binaarid: 755 (vajadusel)

8. Kasutusnäited ja tüüpilised olukorrad

Kuidas chmod ja õiguste määramine päriselt töös kasutatakse?

Ülaltoodud chmod käsku ja õiguste sümbolit -rw-r--r-- kasutatakse serverite halduses ja arendusprojektides iga päev.
Järgnevate näidete abil saad aru, kuidas õiguste seadistamine igapäevatöös toimib.

1. HTML-failide haldus veebiserveris

Näide:
Kui avaldad HTML-faili Apache või Nginx veebiserveris, seadistatakse õigused tavaliselt -rw-r--r-- (numbrina 644).

chmod 644 index.html

Miks 644?

  • Omanik (nt veebihaldur) peab saama faili muuta → kirjutamisõigus (w)
  • Veebiserver (www-data vms) peab ainult lugema → lugemisõigus (r)
  • Teistele pole kirjutamisõigust vaja

Nii saad minimaalselt vajalike õigustega turvaliselt veebifaile avaldada.

2. Skriptifailile käivitusõiguse lisamine

Näide:
Oled loonud shell-skripti backup.sh, kuid selle käivitamisel ilmub “Permission denied”.

chmod 755 backup.sh

Mida see tähendab?

  • Omanik: lugemine, kirjutamine, käivitamine (rwx)
  • Grupp ja teised: lugemine, käivitamine (rx)

Nii saavad teised kasutajad skripti käivitada, kuid muuta saab ainult omanik.

3. Privaatfailide lugemispiirang

Näide:
Hoiad secrets.txt faili, mis sisaldab API võtmeid või paroole. Ei soovi, et keegi teine seda näeks.

chmod 600 secrets.txt

See tähendab:

  • Ainult omanik saab lugeda ja kirjutada (rw-)
  • Grupp ja teised: puudub ligipääs (—)

Tundliku info puhul on soovitatav kasutada 600 või ainult lugemise jaoks 400.

4. Kataloogi turvaline jagamine

Näide:
Lood ühiskasutatava kausta shared_folder, kuhu mitmed arendajad peavad pääsema.

chmod 770 shared_folder

See tähendab:

  • Omanik ja grupp: kõik õigused (rwx)
  • Teised: puudub ligipääs (—)

Kui sead grupi arendusmeeskonnale ja vajadusel muudad chgrp käsuga, saab ligipääse kontrollida paindlikult ja turvaliselt.

5. Vigade vältimine ja näited eksimustest

Näide:
Käivitad kogemata chmod -R 777 . ja kõik failid saavad kirjutusõiguse ka teistele.

Kuidas vältida?

  • Muuda õigusi alati find abil vastavalt failitüübile
  • Enne muutmist kontrolli õigusi ls -l käsuga
  • Katseta õiguseid esmalt testkeskkonnas

9. Korduma kippuvad küsimused (KKK)

K1. Mis vahe on chmod 644 ja -rw-r--r-- vahel?

Vastus: Need tähendavad täpselt sama asja, erinev on vaid esitusviis.

  • chmod 644: õiguste määramine numbrilise käsuga
  • -rw-r--r--: õiguste sümboolne esitus, mida näed pärast ls -l käsku

Mõlemad väljendavad “omanik võib lugeda ja kirjutada, teised ainult lugeda”.

K2. Mis juhtub, kui failil pole käivitusõigust?

Vastus: Skripte ja binaare pole võimalik otse käivitada, tekib viga.

Näiteks, et käivitada .sh või .py faile, on vaja x-õigust. Ilma selleta näed sellist teadet:

bash: ./script.sh: Permission denied

Lahendus:

chmod +x script.sh

K3. Kas on okei määrata kataloogile 644?

Vastus: Tavaliselt mitte.

Kataloog vajab käivitamisõigust (x), muidu ei saa selle sisu näha.

Soovitatav seadistus:

chmod 755 katalooginimi

K4. Kas chmod -R kasutamisel on ohte?

Vastus: Jah, sest failidele ja kataloogidele seatakse samad õigused – see võib põhjustada ligipääsuprobleeme.

Näide:

chmod -R 644 my_project/

→ Kataloogid kaotavad x-õiguse ning nende sisu ei saa enam avada.

Turvaline alternatiiv:

find my_project/ -type d -exec chmod 755 {} \;
find my_project/ -type f -exec chmod 644 {} \;

K5. “Permission denied” põhjused pole selged.

Vastus: Kontrolli järgmist:

  • Kas fail on käivitatav, kuid puudub x-õigus?
  • Kas proovid kirjutada failile, mille omanik sa pole?
  • Kas kataloogil puudub x-õigus?
  • Kas kasutajal puuduvad sudo-õigused?

Kontrolli vajadusel ls -l ja whoami käsuga oma õigusi ja kasutajanime.

K6. Kuidas jagada faili, kuid mitte lubada teistel kirjutada?

Vastus: Sea failile õigused “644” või “444”.

chmod 644 share.txt
  • 644: teised saavad ainult lugeda
  • 444: kõik saavad ainult lugeda (omanik ei saa ka kirjutada)

Vali vastavalt faili otstarbele ja jagamise vajadusele.

K7. Mida teha, kui õigused läksid sassi?

Vastus: Kui pole varukoopiat, võrdle teiste korrektsete failidega ja taasta õigused käsitsi.

ls -l /path/to/õige_fail

Sea õigused vastavalt sellele. Soovitatav on dokumenteerida projekti või süsteemi algsed õigused.

10. Kokkuvõte

Miks on oluline mõista chmod’i ja õiguste põhialuseid

Selles artiklis selgitasime põhjalikult Linuxi ja Unixi süsteemides laialdaselt kasutatavat chmod käsku ning õiguste sümboolset märget -rw-r--r--.
Need pole pelgalt tehnilised detailid, vaid oluline osa süsteemi turvalisusest, halduse tõhususest ja failijagamise täpsusest.

Õpitu kokkuvõte

  • chmod võimaldab muuta failide ja kataloogide õiguseid (permissions)
  • -rw-r--r-- näitab, et omanik võib lugeda ja kirjutada, teised ainult lugeda
  • Numbriline (nt 644) ja sümboolne märge (-rw-r--r--) tähistavad sama asja
  • Õigusi saab määrata nii numbriliselt kui sümboolselt
  • Õiguste kontrollimiseks kasuta ls -l käsku
  • Ka GUI-tööriistad (Nautilus, WinSCP, FileZilla) võimaldavad õigusi muuta ja kontrollida
  • Vale seadistus võib põhjustada “Permission denied” vigu – tasub olla tähelepanelik
  • Õigete õiguste seadmine on seotud nii turvalisuse kui kasutusvajadustega

Õigete õiguste “õige lahendus” sõltub olukorrast

Kõige tähtsam on mõista, et universaalset õiguste seadistust pole olemas.
Õiged valikud sõltuvad kasutusotstarbest, jagamise vajadusest ja turvatasemest – alati sea õigused minimaalselt vajalike õigustega.

Soovitused alustajale

Esmapilgul võib õiguste teema tunduda keeruline, kuid kui harjuda chmod ja õiguste loogikaga, suudad
ennetada vigu ning hallata süsteemi turvaliselt ja efektiivselt.

Küsi alati: “Kes ja mis eesmärgil peab failile ligi pääsema?” – see aitab valida sobiva õiguste komplekti ja arendada praktilisi oskusi päriselus.