V operačnom systéme Linux, ktorý je základom mnohých serverových riešení, je práca so súbormi a priečinkami mimoriadne dôležitá. Každý súbor a priečinok v Linuxe patrí konkrétnemu používateľovi a skupine, a s tým súvisia aj prístupové práva, ktoré určujú, kto a akým spôsobom môže s daným objektom manipulovať. Pochopenie týchto práv je kľúčové pre efektívnu a bezpečnú správu servera.
V Linuxe existuje viacero druhov súborov, ktoré sa líšia svojou funkciou a správaním. Okrem bežných textových súborov, ktoré sú označené pomlčkou (-), existujú aj priečinky (d ako directory), odkazy (l ako link), súbory znakových zariadení (c ako character device) a súbory blokových zariadení (b ako block device). Dokonca aj priečinok je v Linuxe iba druh súboru. Skryté súbory a priečinky sú označené bodkou pred názvom a nezobrazujú sa v bežnom zozname, pokiaľ sa nepoužije prepínač -a. Predovšetkým konfiguračné súbory sú skryté, pretože k nim používateľ zväčša nepotrebuje priamy prístup.

Systém súborov a adresárová štruktúra v Linuxe
Pre zodpovednú správu vlastníctva a práv súborov je nevyhnutné najprv pochopiť systém súborov a adresárovú štruktúru Linuxu. Linuxový štandard definuje umiestnenie špecifických súborov v určitých priečinkoch.
Nižšie je uvedená tabuľka s najdôležitejšími priečinkami a ich popisom:
| Cesta k priečinku | Popis |
|---|---|
| / (root, koreň) | Koreňový priečinok je začiatok všetkých priečinkov a súborov, pretože v ňom sú umiestnené všetky ostatné súbory a priečinky. |
| /bin (ako binary) | Tu sú umiestnené súbory príkazov, ktoré používa operačný systém. |
| /boot | Tu nájdeme statické súbory programu, ktorý spúšťa (zavádza) operačný systém Linux (tzv. bootloader). |
| /dev (ako device) | Tu sú umiestnené súbory zariadení. Podobne to je v priečinkoch /proc a /sys. |
| /etc (ako et cetera) | Tu nájdeme konfiguračné súbory lokálneho počítača. Napríklad v súbore /etc/passwd nájdeme informácie o používateľoch. |
| /lib (ako library) | Tu sú umiestnené základné zdieľané knižnice a moduly jadra. |
| /media | Do tohto priečinka sa pripájajú (montujú) prenosné médiá ako sú USB kľúče. Linux totiž nepozná disky ako Windows (napr. disk C:\), ale pripojené pevné disky a ostatné vstupné a výstupné zariadenia vždy prepojí s konkrétnym súborom, alebo obsah zariadenia zaradí (namontuje) pod konkrétny priečinok v tomto priečinku (napr. /media/usb1). |
| /mnt (ako mounted) | Sem sa pripájajú (montujú) dočasne pripojené systémy súborov. |
| /opt (ako optional) | Prídavné softvérové balíčky (voliteľný softvér). |
| /sbin (ako super-binaries) | Tu nájdeme dôležité súbory systému, ktoré zvyčajne fungujú iba pod používateľom root. |
| /root | Domovský priečinok super-administrátora Linuxu. |
| /home | Domovský priečinok pre všetkých používateľov, okrem používateľa root. Používateľ s menom Tibor by teda používal domovský priečinok /home/tibor, v ktorom by mal právo čítať, zapisovať aj spúšťať súbory. |
| /tmp (ako temp) | Dočasné súbory. Pri reštarte systému sú odstránené. |
| /usr (ako UNIX System Resources) | Tu sú umiestnené súbory príkazov, ktoré spúšťa používateľ. Ak potrebujeme vedieť cestu k súboru, ktorý spúšťame po zadaní príkazu, použijeme príkaz which (napr. which ls). |
| /var (variable) | Premenlivé údaje ako dočasné súbory, systémové záznamy, zdieľané súbory aplikácií alebo súbory používateľských poštových schránok. |
| /proc (ako processes) | Priečinok, ktorý obsahuje informácie o jadre a procesoch. Podobne to je v priečinkoch /dev a /sys. |
| /run | Sem si systémové procesy ukladajú svoje dočasné údaje. |
| /srv (ako server) | Sem si ukladajú údaje servery. Napr. FTP server tu môže mať priečinok /srv/ftp. |
| /sys | Ide o priečinok, ktorý obsahuje informácie o pripojených zariadeniach. Podobne to je v priečinkoch /dev a /proc. |

Používateľské účty a oprávnenia
Operačný systém Linux poskytuje možnosť pracovať pod rôznymi používateľskými účtami. To znamená, že každý používateľ má po prihlásení k dispozícii svoje vlastné súbory a v nich programy a nastavenia. V Linuxe sa používateľ, ktorý môže všetko, nazýva root (koreň). Prihlasovať sa pod účtom používateľa root môže predstavovať vážne bezpečnostné riziko, a tak sa na spúšťanie príkazov v administrátorskom režime v Linuxe zaužívalo používanie príkazu sudo (ako superuser do alebo novšie substitute user do).
Linux Tutorial SK 08 / Správa užívateľov a skupín – useradd, userdel, usermod, groupadd, groupdel
Vlastník, Skupina a Ostatní
Každý súbor v Linuxe patrí konkrétnemu používateľovi a konkrétnej skupine. Okrem toho, že používateľ a skupina súbor vlastnia, majú vo vzťahu k súboru aj konkrétne práva. Tieto práva sa delia do troch kategórií:
- Používateľ (majiteľ súboru): Je to majiteľ súboru. Používateľ, ktorý súbor vytvoril, alebo nahral na FTP.
- Skupina: Skupina môže obsahovať viacero používateľov. Na základe príslušnosti tvorcu súboru sa prideľujú aj práva jednotlivým skupinám. Pokiaľ sa jedná o bežného užívateľa, ktorý nemá administračné práva, patrí do najvšeobecnejšej skupiny zvanej „staff“. Pokiaľ sa jedná o administrátora, tak ten je v dvoch skupinách, a to „staff“ a „admin“.
- Ostatní: Toto sú práva pre každého ďalšieho používateľa, ktorý má prístup k súboru.
Typy oprávnení
Pre každú z týchto kategórií je možné nastaviť tri základné typy oprávnení:
- Čítanie (read - r): Oprávnenie čítať obsah súboru.
- Zapisovanie (write - w): Toto oprávnenie dáva prístup k úprave obsahu súboru.
- Spustenie (execute - x): Vo Windowse súbor, ktorý sa dá spustiť má väčšinou koncovku ".exe". V Linuxe to znamená možnosť spustiť súbor. V prípade priečinku to znamená, že môžete cez Terminál nazrieť do jeho podpriečinkov.

Nastavovanie oprávnení
Pri nastavovaní práv súborov je potrebné vybrať si, či chceme práva označovať číselne alebo písmenami.
Numerické oprávnenia (absolútny 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. Každé číslo je súčet hodnôt práv pre jednotlivú skupinu, pričom:
- Read (r) = 4
- Write (w) = 2
- Execute (x) = 1
Napríklad, čísla 777 označujú plný prístup pre všetky skupiny (read+write+execute pre používateľa, skupinu a ostatných) a 000 úplný zákaz prístupu. V absolútnom móde sa menia oprávnenia pre všetkých troch používateľov.
Symbolické oprávnenia
V symbolickom móde môžeme meniť oprávnenia pre každého používateľa zvlášť pomocou písmen (u pre používateľa, g pre skupinu, o pre ostatných, a pre všetkých) a znakov + (pridať právo), - (odobrať právo) alebo = (nastaviť práva, nahradiť existujúce).
- Ak potrebujeme doplniť chýbajúce právo súboru pre používateľa (u), skupinu (g), ostatných (o) alebo všetkých (a), použijeme znak sčítania.
- Ak existujúce právo odoberáme, použijeme znak odčítania.
- A ak všetky existujúce práva nahrádzame iným právom, použijeme znak rovnosti.
Napríklad, ak vytvoríte obrázok a uložíte ho do svojich Dokumentov, obrázok samotný bude mať štandardne takéto práva: rw- r-- r--. To znamená, že ktokoľvek si ho môže pozrieť, ale len vy ho môžete zmazať. Lenže priečinok Dokumenty má práva nastavené na rwx --- ---, takže v konečnom dôsledku budete obrázok môcť vidieť len vy a to až do chvíle, keď ho dáte do zdieľaného priečinka.
Správa práv na hostingových platformách
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. 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.
Linuxový príkazový riadok, ako je napríklad WebSupport pre svoj hosting, je dostupný aj ako webová konzola, v ktorej môžeme pracovať pomocou webového prehliadača ako je Google Chrome. Rovnako je ňou možné manažovať Virtuálny server (VPS).

Oprava práv súborov v MacOS X
Mac OS X zahŕňa pravidlá UNIX-u, ani oblasť práv súborov na tom nie je inak. Súbory majú okrem práva na vlastného advokáta aj skupinu prístupových práv, ktoré určujú ich vlastníka a to, čo s imi môže vykonať. Bežne tieto práva nevidíme, ale to nie je prekážka. Stačí si otvoriť Terminál (Appliactions/Utilities) a napísať „ls -l“ (LiSt Long). Uvidíte výpis súborov a priečinkov vo vašom domovskom priečinku. Hneď prvá časť označuje prístupové práva, s výnimkou úplne prvého písmenka, ktoré označuje typ súboru.
Práva sú zapísané pre každý súbor zvlášť a pri jeho nahradení iným sa prepíšu. A to aj v prípade, že má rovnaké meno. Môže to zabrániť aplikáciám a užívateľom otvárať ich a pri väčšom množstve takýchto chýb sa spomalí celý počítač. Ale príliš sa neodporúča opravovať ich preventívne, bez toho, aby ste pozorovali problémy. Niekedy sa totiž môže stať, že práva sa zmenia z dobrých na zlé. (Najčastejšie je to chyba programátora aplikácie, keď zadefinujú zlé práva v „Bill of Materials“ súbore). Výnimkou je len fakt, že ste updatovali počítač, alebo že ste inštalovali nový software. Aj samotný Apple odporúča preventívnu opravu práv len v týchto prípadoch. Na druhej strane, oprava práv, alebo celého disku je mimoriadne užitočná, ak vám počítač nechce nabootovať.
Oprava práv cez Disk Utility má ale dosť obmedzené použitie. Neexistuje zázračný algoritmus, ktorý by povedal, že práva pre niektorý súbor sú zlé. Namiesto toho sa používa trochu iný systém kontroly. Spočíva v tom, že pri inštalácii aplikácie cez Apple Installer Utility (majú .pkg príponou) sa zapíše tzv. „Bill of Materials“ súbor s príponou „.bom“ do priečinku /Library/Receipts. V ňom sú uchované práva jednotlivých súborov aplikácie a ak sa líšia od tých, ktoré sú zapísané v samotnom súbore, Disk Utility ich zmení. Ak programátor zle zadefinuje práva v „Bill of Materials“, ale aplikácia samotná ich má správne, pri najbližšej kontrole sa prepíšu na zlé a môže to znefunkčniť aplikáciu.

Existujú však ešte výnimky, ktoré má na svedomí Apple. Jeho software nepodlieha vyššie uvedeným pravidlám s odkladaním balíčkov do Library/Receipts. Ak Apple chce zmeniť práva svojich aplikácií globálnym spôsobom, vydá neškodný update. V ňom je nenápadný súbor HintFile.plist, ktorý sa inštaluje do /System/Library/PrivateFrameworks/DiskManagement.framework/Versions/A/Resources. Obsahuje práva pre Apple aplikácie, ktoré sa zmenia pri najbližšom spustení Disk Utility. Tento súbor je nadradený balíčkom, ktoré si vytvoria aplikácie pri svojej inštalácii. Aj preto Apple odporúča opravu po každom update systému. Z toho určite pre Apple plynú isté výhody, ale my, užívatelia si to zase odnesieme. Disk Utility, ktorý je na inštalačnom CD tento súbor neprečíta a tak môže opätovne prepísať práva týchto aplikácií na neaktuálne podľa štandardných balíčkov. Preto používajte Disk Utility na pevnom disku s Mac OS X vždy, keď je to možné!
Na opravu práv je ku každému systému Mac OS X od verzie Jaguár dodávaný program Disk Utility (Applications/Utilities). Po jeho spustení si vyberte požadovaný disk a stlačte „Repair Disk Permissions“. Ale opravu práv disku zvládne takmer každá utilita na údržbu systému. Veľmi účinné nástroje sú zdarma ponúkaný Onyx či MainMenu. Ďalej môžete siahnuť aj po platených programoch ako Tiger Cache Cleaner. Nenechajte sa zlákať utilitami, ktoré vám ponúkajú opravu práv ako súčasť každodennej údržby.
tags: #je #jeho #rodicovsky #priecinok #zapisovatelny #pre