Windows 95 a 98 usnadňují v některých případech práci až příliš. Přístupová
práva jsou právě jedním z těchto zjednodušení - prakticky nejsou (až na "jen
ke čtení"). Díky tomu vzniká problém, chce-li uživatel umístit na serveru
stránky, obsahující určité interaktivní prvky (počítadlo, diskuze), jež se neobejdou
bez možnosti zápisu do souboru. Ke změně souboru ale dojít nemůže, protože onen
soubor nemá správně nastavena práva k zápisu. A tady uživatel Windows končí
- o co se vlastně jedná? Jaká práva? Jak je nastavit?
Servery provozující hosting používají mnohem častěji Linux a ten už řeší otázku
bezpečnosti mnohem zodpovědněji. Každému souboru (resp. adresáři) jsou přiřazena
určitá práva - kdo jej může číst, editovat nebo spouštět. Nás tento problém
nezajímá z pohledu uživatele Linuxu ale jako majitele účtu u poskytovatele prostoru
pro www stránky. Proto si můžeme dovolit i některá zjednodušení.
Nejprve se podíváme, jak bez dalších podrobnějších znalostí správně nastavit
právo k zápisu pro určitý soubor. V základní verzi diskuze, kde jsme používali
zápis dat do souboru, jsme potřebovali nastavit souboru note.txt právo k zápisu.
Nejjednodušším způsobem může být použití Windows Commandera.
Pozn: Pokud se vám následující návody nepodaří aplikovat, není chyba s největší
pravděpodobností ve vašem konání. Některé servery změnu práv nepodporují.
Postup:
- Připojíte se standardním způsobem ke svému ftp účtu.
- Označíte příslušný soubor.
- V menu vyberete nabídku "Soubory" a zvolíte "Změna atributů".
- V tabulce již snadno nastavíte práva k zápisu.
Používáte-li radši Cute-FTP, pak po připojení k serveru:
- Klikněte na příslušný soubor pravým tlačítkem myši.
- Z nabídky zvolte příkaz CHMOD.
- Objeví se vám nabídka podobná té z Windows Commandera.
CuteFTP ovšem nabízí již více informací, jež si probereme podrobněji, abychom
pochopili také samotný princip přístupových práv. Jak již bylo řečeno a ukázáno,
existují tři druhy vztahů k "vlastnictví" souboru (resp. adresáři).
Jedním je samotný vlastník, druhým skupina, do které patří, a třetím jsou všichni
ostatní. Nás zajímá především vlastník a potom ostatní, skupinou se zabývat
nemusíme.
U první ukázky z CuteFTP si můžete všimnout kolonky Attr (Attributes).
-rw-r--rw- znamená následující: minus na začátku určuje, že jde o soubor.
První trojice (rw-) jsou přístupová práva pro vlastníka souboru, druhá
trojice (r--) určuje práva pro skupinu a třetí trojice (rw-) určuje
práva pro ostatní. Ve všech vlastnických skupinách je možno povolit nebo zakázat
stejné operace rwx. "r" znamená, že soubor je povoleno číst,
"w" - do souboru je povoleno zapisovat a "x"
- soubor je povoleno spustit.
Rozdíl mezi soubory a adresáři se promítá i do významu příslušných práv: "r"
- adrésář je povoleno vypsat, "w" do adresáře je povoleno zapisovat,
vytvářet a rušit v něm soubory, "x" - do adresáře je možno
vstoupit. Zápis vypadá např. takto: drwxr-xr-x. "d"
znamená directory, jde o označení adresáře.
Místo značek rwx lze použít také čísla. Proto soubor s právy -rw-r--rw- může
být jinak označen jako 646. Každá z těchto číslic představuje kombinaci práva
pro jednotlivé vlastníky a to ve standardním pořadí (vlastník, skupina, ostatní).
Následující tabulka obsahuje přehled všech číselných kombinací:
| číslo |
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
| práva |
---
|
--x
|
-w-
|
-wx
|
r--
|
r-x
|
rw-
|
rwx
|
Ke změně přístupových práv se na serverech používá příkaz chmod a to způsobem
"chmod 644 note.txt" nebo "chmod u=rwx,go=r note.txt". Zde
se dávají všechna práva vlastníkovi (u jako user) a práva načtení skupině a
ostatním (group, others).
Abychom se vůbec věnovali PHP, manuálová stránka zabývající se funkcí chmod()
je na adrese http://www.php.net/manual/cs/function.chmod.php
;)
Veselý Jan
|