CHMOD 600
So eben bin ich beim Backup eines Servers auf das Problem gestoßen, dass jemand Bilder über vermutlich ein PHP-Uploadscript auf seinen Server hochgeladen hat, ohne die Dateirechte nach dem Upload zu ändern. Somit ist es unmöglich die Datei via FTP herunterzuladen.
Problem:
- Besitzer/ gruppe: wwwrun /www
- Rechte: 600
Lösung:
Die Bilder/Dateien wurden über das Web hochgeladen, also muss man den chmod(die Rechteänderung) auch über das Web machen. Ich habe mir dazu ein kleines Script gebaut.
Dieses kann man einfach als test.php in einen Verzeichnis des Servers speichern.
Danach muss man nur noch die entsprechenden Inputfelder Folder und Zugriffsrecht ausfüllen.
{code type=PHP}
<?php
error_reporting(E_ALL);
echo „CHMOD changer<br />“;
$folder = isset($_POST[‚folder‘]) ? $_POST[‚folder‘] : false;
$rechte = isset($_POST[‚rechte‘]) ? $_POST[‚rechte‘] : false;
if ($folder) {
if ($rechte) {
if ($rechte >= 600) {
$verzeichnis = $_SERVER[‚DOCUMENT_ROOT‘].$folder;
if ($handle = opendir($verzeichnis)) {
echo „Directory handle: $handle\n“;
echo „Files:\n“;
/* jetzt verzeichnis loop */
while (false !== ($file = readdir($handle))) {
echo „$file\n“;
if ($file != „.“ && $file != „..“) {
echo „in while“;
if (chmod($verzeichnis.“/“.$file, $rechte)) {
echo “ done“;
} else {
echo „not done“;
}
echo „<br />“;
}
}
closedir($handle);
} else {
echo „<br />error in folder“;
}
} else {
echo „Rechte zu stark<br />“;
}
} else {
echo „Du hast vergessen rechte festzulegen z.B. 0644<br />“;
}
} else {
echo „du hast keinen folder eingegeben<br />“;
}
?>
<br/>
Pfad mit „/“ am Anfang d.h. wenn Dateien aus www.domain.de/folder ändern möchte, muss man bei folder „/folder“ eintragen und bei Rechte z.B. 0644
<form method=“POST“ action=“test.php“>
folder:<input type=“text“ id=“folder“ name=“folder“ value=“<? echo $folder?$folder:““; ?>“/>
<br/>
rechte:<input type=“text“ id=“rechte“ name=“rechte“ value=“<? echo $rechte?$rechte:““; ?>“/>
<br/>
<input type=“submit“ value=“bearbeiten“ />
</form>
{/code}
Nun kann man die Dateien wieder mit einem FTP-Programm downloaden
Interessanter Web Log und danke fuer den Beitrag.