Důležitým bezpečnostním mechanismem určeným k řízení přístupu k datům jsou oprávnění přístupu k souborům. Všichni uživatelé systému, kromě správce, jimi mohou být omezeni. Slouží například k omezení přístupu běžného uživatele k systémovým konfiguračním souborům.
Vše, co uživatel vytvoří, se stává jeho vlastnictvím a tomuto vlastnictví může přidělovat oprávnění. Každý soubor má nejen vlastníka, ale je přiřazen i skupině. S právy můžeme manipulovat jak v grafickém režimu, tak i v terminálu. Klikací grafický režim je intuitivnější a snazší, ale obtížně se s ním dělají rozsáhlejší změny.
Pro změnu oprávnění souborů slouží standardní správce souborů Nautilus. Čtěte Nautilus.
Pro práci v textovém režimu využijte Terminál.
Práva souborů můžeme zjistit příkazem ls -l, případně ls -laF (pozn. l (malé L) = zobrazit detaily, a = zobrazit skryté soubory, F = za každý adresář přidá lomítko).
... -rw-r--r-- 1 root root 2657 2007-04-15 13:49 adduser.conf -rw-r--r-- 1 root root 46 2007-08-07 18:10 adjtime -rw-r--r-- 1 root root 49 2007-08-06 23:43 aliases drwxr-xr-x 2 root root 4096 2007-08-07 20:50 alternatives/ -rw-r--r-- 1 root root 395 2007-03-05 07:38 anacrontab drwxr-xr-x 7 root root 4096 2007-04-15 13:55 apm/ drwxr-xr-x 4 root root 4096 2007-08-07 17:26 apt/ -rw-r----- 1 root daemon 144 2007-02-20 14:41 at.deny ...
Hned v prvním sloupci výpisu vidíme ona přístupová práva jednotlivých souborů, např:
drwxr-xr-x
Tento zápis si pro větší přehlednost rozdělíme do čtyř sloupců:
typ | práva vlastníka | práva skupiny | práva ostatních |
d | rwx | r-x | r-x |
První sloupec je jednoznakový a určuje, o jaký typ souboru se jedná.
Další tři sloupce již označují skupiny, kterým můžeme práva přiřazovat. Práva vlastníka určují, co se souborem může dělat vlastník souboru. Práva skupiny udávají, co se souborem můžou provádět ostatní členové skupiny, které soubor náleží. A nakonec jsou práva ostatních, kteří nepatří do skupiny, jíž soubor přísluší.
práva | význam | pro soubor | pro adresář |
r | Read | číst soubor | vypsat obsah adresáře |
w | Write | zapisovat do souboru | vytvářet nebo mazat soubory či adresáře |
x | eXecute | spouštět soubor | procházet adresářem |
-rwxr-xrw-
Podle tohoto zápisu poznáme, že:
K tomuto účelu slouží příkaz chmod, který má dvě varianty zápisu atributů.
Vybereme komu a jaká práva přiřadíme.
chmod o+rx jmeno_souboru
Prvním znakem určíme, čí práva budeme měnit:
u | user | vlastník |
g | group | skupina |
o | others | ostatní |
a | all | všichni |
Následně použijeme znaménko:
+ | přidání práva |
- | odebrání práva |
= | kompletní změna práv na nastavenou hodnotu |
chmod a=rwx file.txt
Pokud si nyní dáme vypsat práva souboru, jemuž jsme je měnili, měli bychom dostat toto:
-rwxrwxrwx file.txt
Číselná soustava
chmod 777 file.txt
Tento způsob se možná někomu bude zdát složitejší, zvláště pokud nemá zkušenosti s číselnými soustavami, ovšem princip je jednoduchý. Každé právo r, w nebo x představuje určitou hodnotu:
právo | hodnota |
r | 4 |
w | 2 |
x | 1 |
Práva každé kategorie (vlastník, skupina, ostatní) jsou reprezentovány číslem, které tvoří součet hodnot jednotlivých práv. Pokud bychom tedy chtěli nastavit práva rwxrwxrwx, postupovali bychom takto:
rwx | rwx | rwx |
421 | 421 | 421 |
7 | 7 | 7 |
Příklad: Hodnota 546 by odpovídala právům:
5 | 4 | 6 |
4+1 | 4 | 4+2 |
r-x | r– | rw- |