Oprávnenia súborov a adresárov
Vlastník súboru alebo adresára
Každý súbor a adresár (priečinok) v linuxe má pridelené 3 typy vlastníkov.
Používateľ: Je to majiteľ súboru. Používateľ, ktorý súbor vytvoril, alebo nahral na FTP. Často sa označuje aj ako majiteľ súboru.
Skupina: Skupina môže obsahovať viacero používateľov. Všetci používatelia, ktorí patria do jednej skupiny budú mať práva nastavené pre danú skupinu.
Ostatní: Toto sú práva pre každého ďalšieho používateľa, ktorý má prístup ku súboru, tzn. Súbor ani nevytvoril, a ani nepatrí do skupiny ktorá vlastní súbor, ale napriek tomu má povolený prístup k tomuto súboru.
Oprávnenia
Každý súbor a priečinok má 3 oprávnenia pridelené pre každého z troch vlastníkov spomenutých vyššie.
Čítanie (read - r): Umožňuje iba čítanie obsahu súboru alebo priečinka.
Zapisovanie (write - w): Toto oprávnenie dáva prístup k úprave obsahu súboru. Oprávnenie zapisovania pre adresár dáva právo pridať, vymazať alebo premenovať súbory v danom priečinku.
Spustenie (execute - x): Vo Windowse súbor, ktorý sa dá spustiť má väčšinou koncovku ".exe". V Linuxe sa nedá súbor spustiť, kým daný používateľ nemá právo na spustenie (x).
Príklad:
rwxrw-r-- (764)
- Prvá časť (rwx) znamená, že používateľ, ktorý súbor vytvoril, ho môže čítať, zapisovať do neho a aj ho spúštať.
- Druhá časť (rw-) znamená, že skupina, ktorej je súbor pridelený, môže súbor čítať a zapisovať do neho, ale nemôže ho spúšťať.
- Posledná časť (r--) znamená, že všetci ostatní používatelia môžu súbor iba čítať, ale nemôžu do neho zapisovať a ani ho spúšťať.
Na obrázku nižšie môžete vidieť práva jednotlivých súborov, ktoré viete zmeniť po kliknutí na kokrétny zápis práv.
Po kliknutí na konkrétny zápis práv vyskočí okno (obrázok nižšie), v ktorom môžete jednoducho zmeniť práva súboru.
Úprava práv súborov pomocou príkazu chmod
Pre zmenu práv súborov a priečinkov používame príkaz ‚chmod‘ čo znamená ‚change mode‘ (zmena módu)
chmod práva súbor
Sú dva spôsoby ako sa dá tento príkaz použiť:
- Absolútny mód
- Symbolický mód
Absolútny (číselný) mód
V tomto móde nie sú práva reprezentované ako písmená, ale ako trojciferné číslo. Toto číslo je vyjadrené v osmičkovej číselnej sústave, preto je v niektorých programovacích jazykoch vyjadrené s nulou na začiatku, napríklad 0764. Je to to isté ako 764.
Tabuľka nižšie obsahuje všetky možné kombinácie oprávnení a pridelené číslo:
Číslo | Oprávnenia | Symbol |
0 | Žiadne oprávnenia | --- |
1 | Spustenie | --x |
2 | Zápis | -w- |
3 | Spustenie + zápis | -wx |
4 | Čítanie | r-- |
5 | Spustenie + čítanie | r-x |
6 | Zápis + čítanie | rw- |
7 | Spustenie + zápis + čítanie | rwx |
Symbolický mód
V absolútnom móde sa menia oprávnenia pre všetkých troch používateľov. V symbolickom móde môžeme meniť oprávnenia pre každého používateľa zvlášť. Pre zmeny oprávnení používame matematické znaky.
Operátor | Popis |
+ | Pridá oprávnenie |
- | Odoberie oprávnenie |
= | Nastaví vymenované oprávnenia |
Skratky používateľov | |
u | Používateľ/majiteľ |
g | Skupina |
o | Ostatní |
a | Všetko |
Príklad:
chmod o+x index.php
Tento príkaz pridá pre ostatných používateľov oprávnenie na spúšťanie súboru index.php.
Zmena majiteľa a skupiny súboru
Pre zmenu majiteľa súboru používame príkaz:
chown používateľ
Ak chceme zmeniť majiteľa aj skupinu používame príkaz:
chown používateľ:skupina súbor
Príklad:
chown root:root-group index.php
Tento príkaz zmení majiteľa súboru index.php na root a skupinu súboru na root-group.
V prípade, že chceme zmeniť iba skupinu, použijeme príkaz:
chgrp skupina súbor
Defaultné oprávnenia súborov a adresárov v HostCreators
Každý web je spúšťaný pod užívateľom a skupinou definovanými v hostingovom balíčku. Pod týmto istým užívateľom je spúšťaný aj PHP proces, ktorý tak preberá oprávnenia z hostingového balíka. A keďže má každý hostingový balík samostatnú skupinu a užívateľa, nedokáže prečítať žiadne "cudzie" súbory z iných hostingových balíkov.
Každý jeden adresár, alebo súbor, ktorý je vytvorený buď cez WebFTP, FTP alebo SSH má tiež tohto istého vlastníka a skupinu. Oprávnenia sú automaticky nastavované nasledovne:
- adresáre: 770 (rwxrwx---) - užívateľ aj skupina má plné práva pre adresár, ostatní užívatelia žiadne
- súbory: 660 (rw-rw----) - užívateľ aj skupina má právo čítania a zápisu, ostatní užívatelia žiadne