Práva souborů

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.

Grafický režim

Pro změnu oprávnění souborů slouží standardní správce souborů Nautilus. Čtěte Nautilus.

Textový režim

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ů:

typpráva vlastníkapráva skupinypráva ostatních
drwxr-xr-x

První sloupec je jednoznakový a určuje, o jaký typ souboru se jedná.

  • - = soubor\
  • c = znaková zařízení (tiskárna…)
  • b = bloková zařízení (disky…)
  • d = adresář
  • l = link

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ávavýznampro souborpro adresář
rReadčíst souborvypsat obsah adresáře
wWritezapisovat do souboruvytvářet nebo mazat soubory či adresáře
xeXecutespouštět souborprocházet adresářem

Příklad:

-rwxr-xrw-

Podle tohoto zápisu poznáme, že:

  • se jedná o soubor\
  • vlastník má právo soubor číst, zapisovat a spouštět
  • skupina má právo soubor číst a spouštět
  • ostatní mají právo soubor číst a psát

K tomuto účelu slouží příkaz chmod, který má dvě varianty zápisu atributů.

První způsob

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:

uuservlastník
ggroupskupina
oothersostatní
aallvšichni

Následně použijeme znaménko:

+přidání práva
-odebrání práva
=kompletní změna práv na nastavenou hodnotu

Příklad:

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

Druhý způsob

Čí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ávohodnota
r4
w2
x1

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:

rwxrwxrwx
421421421
777

Příklad: Hodnota 546 by odpovídala právům:

546
4+144+2
r-xr–rw-

Změna oprávnění k souborům ve složce

Pro aplikaci oprávnění na soubory obsažené ve složce, které oprávnění měníme, použijeme modifikátor příkazu -R.

Příklad:

chmod 777 -R Nějaká\ složka