Přístupová práva k souborům


Návody pro C4


Přístupová práva (alternativně se můžete setkat s termíny: atributy souboru, mód souboru) umožňují nastavit omezení pro přístup k souborům a adresářům pro systémové uživatele v operačním systému GNU/Linux. V textu se nebudeme podrobně zabývat významem přístupových práv, zaměříme se na vysvětlení, jak přístupová práva zapisovat. Zapisují se v osmičkové (oktalové) soustavě (tj. číslice mohou nabývat hodnot od 0 do 7) pomocí 3 nebo 4 číslic. Alternativně se používá symbolický zápis v podobě 9 nebo 10 znaků. Každý soubor má svého vlastníka (systémový uživatel) a skupinu (skupina systémových uživatelů). Přístupová práva se nastavují pro tři třídy uživatelů, a sice:

Základní práva jsou právo čtení, právo zápisu a právo spuštění (v případě, že soubor je adresář, má právo spuštění význam práva vstupu do adresáře).

Základní práva můžeme libovolně kombinovat. Součtem hodnot příslušných oprávnění vznikne výsledná hodnota oprávnění. Např. právo čtení + zápisu má hodnotu 6 (4 + 2). Způsob symbolického zápisu a přehled všech možných kombinací je uveden v následující tabulce.

Hodnota Symbolický zápis Význam
0 --- žádné oprávnění
1 --x právo spuštění
2 -w- právo zápisu
3 -wx právo zápisu, právo spuštění
4 r-- právo čtení
5 r-x právo čtení, právo spuštění
6 rw- právo čtení, právo zápisu
7 rwx právo čtení, právo zápisu, právo spuštění

Výsledná přístupová práva pro soubor se zapisují v pořadí: práva pro vlastníka, práva pro skupinu a práva pro ostatní. Např. přístupová práva 640 (symbolickým zápisem rw-r-----) mají význam: právo čtení + zápisu (6, rw-) pro vlastníka, právo čtení (4, r--) pro skupinu a žádné právo (0, ---) pro ostatní.

Na začátek symbolického zápisu přístupových práv se může přidat znak, který charakterizuje typ souboru. V prostředí hostingového serveru se setkáte s těmito typy souborů:

Přítupová práva pro adresář jsou např. tvaru drwxr-xr-x, pro standardní soubor např. -rw-r--r--. Přehled nejčastěji používaných přístupových práv je uveden níže.

Hodnota Symbolický zápis Význam
755 drwxr-xr-x Vlastník: čtení, zápis, spuštění
Skupina: čtení, spuštění
Ostatní: čtení, spuštění
555 dr-xr-xr-x Vlastník: čtení, spuštění
Skupina: čtení, spuštění
Ostatní: čtení, spuštění
644 -rw-r--r-- Vlastník: čtení, zápis
Skupina: čtení
Ostatní: čtení
444 -r--r--r-- Vlastník: čtení
Skupina: čtení
Ostatní: čtení

Dodatečná práva

Souborům lze nastavit další práva: Set User ID, Set Group ID a Sticky bit.

Právo Hodnota Symbolický zápis
Set User ID 4 s pokud vlastník má právo x,
S pokud vlastník nemá právo x
Set Group ID 2 s pokud skupina má právo x,
S pokud skupina nemá právo x
Sticky bit 1 t pokud ostatní mají právo x,
T pokud ostatní nemají právo x

Dodatečná práva lze libovolně kombinovat, součtem příslušných hodnot dostaneme výslednou hodnotu dodatečných oprávnění. Tuto číslici zapisujeme před třemi číslicemi, které reprezentují přístupová práva souboru. Pro adresář se standardními právy 755, který má dále dodatečná práva Set Group ID a Sticky bit, je výsledná hodnota práv 3755, kde 3 je součet 2 (Set Group ID) + 1 (Sticky bit). Přístupová práva k uvedenému adresáři by v symbolickém zápisu byla tvaru drwxr-sr-t (znaky pro dodatečná oprávnění píšeme na místech pro znaky x podle výše uvedené tabulky).

Významem dodatečných práv se zabývat nebudeme. Uživatel webhostingových služeb se maximálně může setkat s právem Set Group ID na adresářích. Z hlediska uživatele nemá toto právo žádný vliv. Jestli má adresář nastavena práva drwxr-xr-x nebo drwxr-sr-x, vyjde úplně nastejno. Někteří FTP klienti ani neumožňují dodatečná práva nastavovat.

Standardní přístupová práva

Adresáře mají standardně nastavena práva drwxr-xr-x (755) nebo drwxr-sr-x (2755), soubory mají standardně práva -rw-r--r-- (644). Někteří uživatelé hostingových služeb přenastavují práva na adresářích na drwxrwxrwx (777) a práva na souborech na -rwxrwxrwx (777). Domnívají se, že je to nutné kvůli uploadu souborů nebo vytváření souborů v PHP skriptech. Hostingové služby Webhosting C4 jsou nastaveny tak, že kvůli uploadu souborů ani vytváření souborů (nebo adresářů) v PHP není nutné práva přenastavovat. Jestli má soubor (nebo adresář) nastavena standardní práva a nebo práva 777, není v tom z hlediska funkčnosti žádný rozdíl. Případné přenastavení na 777 je proto zbytečné.

FTP klienti

Při nastavování práv v FTP klientovi se můžete setkat s řadou alternativních názvů pro vlastníka, skupinu a ostatní.

Název Alternativní názvy
vlastník uživatel, owner, user
skupina group
ostatní svět, jiné, other, others, world

K dispozici je návod na přenastavení přístupových práv v programu Total Commander.

PHP

Nastavení přístupových práv k souboru je možné provést i v programovacím jazyku PHP pomocí funkce chmod(). Je ale třeba dát si pozor, aby parametr s hodnotou přístupových práv byl korektně zadán v oktalové (osmičkové) soustavě. Doporučujeme přečíst návod PHP - chmod.

Související odkazy

Diskuzní fórum pro článek Přístupová práva k souborům

Nové diskuzní téma můžete založit v sekci FTP klienti.

Změny a kontroly

K dispozici je kompletní přehled všech změn a kontrol v tomto návodu.


Diskuzní fórum
  • Webové aplikace
  • Tvorba web stránek
  • PHP, MySQL

forum.c4.cz