„Webszerver által létrehozott könyvtárak és fájlok jogosultságainak módosítása” változatai közötti eltérés
(→Ha törölni/módosítani szeretném a webtárhelyem teljes tartalmát, mit tegyek?) |
|||
| 13. sor: | 13. sor: | ||
Tehát: | Tehát: | ||
| − | * A ''jogosultsag.php'' fájl | + | * A ''jogosultsag.php'' fájl létrehozása a következő tartalommal: |
<source lang="php"> | <source lang="php"> | ||
A lap jelenlegi, 2013. március 11., 18:10-kori változata
Webszerver által létrehozott könyvtárak és fájlok jogosultságainak módosítása
A W3HOST webtárhelyekre elhelyezett weboldalak nagyobb biztonsága érdekében a php fájlokat futtató webszerver más felhasználói jogosultságokkal fut, mint amit FTP kapcsolaton keresztül használunk. Ennek előnye a nagyobb biztonság, azonban okoz némi kényelmetlenséget is (főleg Joomla használata esetén).
A kényelmetlenség akkor jelentkezik, mikor törölni szeretnénk a teljes oldalt FTP kapcsolaton keresztül, és néhány könyvtár és fájl ott marad a tárhelyen (azok maradnak ott, amelybe a weboldalunk elhelyezett valamit).
Miért jelent ez nagyobb biztonságot?
Mert ha figyelünk a helyes könyvtárak és fájlok jogosultságaira, akkor a webszerver (azaz a weboldal) csak azokat a fájloknak és könyvtáraknak a tartalmát tudja módosítani, amit mi engedélyezünk! Tehát mi szabályozhatjuk! Ez nagyon fontos. Azonban néhány speciális esetben ez fordítva is igaz lesz. Azaz FTP kapcsolattal mi sem fogjuk tudni írni/módosítani a webszerver (azaz a weboldal) által létrehozott tartalmat, azaz még törölni sem.
Itt egy kicsit speciálisabban is olvashatunk erről.
Ha törölni/módosítani szeretném a webtárhelyem teljes tartalmát, mit tegyek?
Hozzunk létre a webtárhelyünkön egy fájlt, pl.: jogosultsag.php. Ezt a fájlt ott helyezzük el, amely könyvtárban, és az összes alkönyvtárban szeretnénk elvégezni a jogosultság beállítást. Ez a megoldás NEM csökkenti a webtárhely biztonságát, csupán jogosultságot ad az FTP írhatóságra.
Tehát:
- A jogosultsag.php fájl létrehozása a következő tartalommal:
<?php echo "<html>"; echo "<head>"; echo "<title>W3HOST - Webtárhely fájlok és könyvtárak jogosultságainak beállítása. />"; echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>"; echo "<meta name=\"description\" content=\"Minta a webszerver által létrehozott fájlok és könyvtárak jogosultságának módosítására.\" />"; echo "</head>"; echo "<body>"; echo "<pre>"; $success=true; // Fájlok $success=$success && changefilemod(); // Könyvtárak $success=$success && changedirmod(); if ($success) { echo "\n\nA script futása sikeresen végetért."; } else { echo "\n\nA script futása közben hiba törtent!"; } echo "</pre>"; echo "</body>"; echo "</html>"; function changefilemod() { echo "\n\n1. Fájlok jogosultságainak beállítása...\n"; $command="find " . $_SERVER["DOCUMENT_ROOT"] . " -uid " . posix_geteuid() . " -type f -exec chmod 664 '{}' \;"; $output = system($command, $retval); if ($retval) { echo "\nA fájlok jogosultságainak beállítása NEM sikerült.\n"; echo $output; return false; } echo "\nA fájlok jogosultságainak beállítása sikeresen megtörtént.\n"; return true; } function changedirmod() { echo "\n\n2. Könyvtárak jogosultságainak beállítása...\n"; $command="find " . $_SERVER["DOCUMENT_ROOT"] . " -uid " . posix_geteuid() . " -type d -exec chmod 775 '{}' \;"; $output = system($command, $retval); if ($retval) { echo "\nA könyvtárak jogosultságainak beállítása NEM sikerült.\n"; echo $output; return false; } echo "\nA könyvtárak jogosultságainak beállítása sikeresen megtörtént.\n"; return true; } ?>
- Majd a php szkript futtatása: Pl.: http://www.AzEnDomaiNevem.hu/AkonyvtarAmibeElhelyeztem/jogosultsag.php
Amint ez megtörtént, FTP kapcsolaton keresztül már nem fog gondot okozni ez a szerver környezet.