Jan Wa: Webserver/ PHP/ Zugriffsrecht

Hallo!

Ich muss mal nachfragen, wie sich das mit den Zugriffsrechten für Dateien/ Ordner auf einem Linux-Apache-Webserver mit PHP 5.5.9 verhält.

Folgendes Szenario:

Ich betreibe ein Webseite. Die Dateien liegen unter /home/webseite/public_html -> Zugriff ist mit 750 gesetzt. Ein paar Verzeichnisse unterhalb dieses Verzeichnisses liegt ein Bilderverzeichnis. Diese Bilder schreibe ich per PHP-Skript da rein.

/home/webseite/public_html/api -> Zugriffsrechte bei 755. /home/webseite/public_html/api/imageCache -> Zugriffsrechte bei 755. /home/webseite/public_html/api/imageCache/image1.jpg -> Zugriffsrechte bei 644.

Alle diese Bilder und Verzeichnisse kann ich mittels meines FTP-Programms löschen.

Jetzt will ich die Webseite neu aufsetzen und arbeite dazu unter /home/webseite/domains/neue.webseite.de/public_html Zugriffsrechte wie folgt: domains -> 755/ neue.webseite.de -> 750/ public_html -> 750

Die Bilder liegen unter /home/webseite/domains/neue.webseite.de/public_html/imageCache/folder1 imageCache -> 777 | folder1 -> 755 | die Bilder haben 644 Auch diese Bilder werden per PHP-Skript erzeugt und geschrieben.

In diesem Verzeichnis kann ich die Bilder aber NICHT per FTP-Programm löschen. Ich musste mir ein PHP-Skript schreiben, mit denen ich die Bilder und Ordner unterhalb von /imageCache löschen kann.

Weiterhin habe ich beim Erzeugen des Ordners "folder1" die Rechte auf 777 gesetzt.

mkdir($document_root . "/" . $cache_path, 0777, true)

Im FTP-Programm sehe ich, dass der Folder "nur" 755 hat.

Ich verstehe es nicht. Warum lassen sich in dem Verzeichnis der alten Webseite die Ordner/ Dateien per FTP löschen, im neuen nicht?

Warum hat der Ordner nur 755, statt der geforderten 777?

Was übersehe ich? Wo ist mein Denkfehler?

Vielen Dank für Tipps und Hinweise Jan

  1. Tach!

    Warum hat der Ordner nur 755, statt der geforderten 777?

    Wegen der umask-Einstellungen.

    Was übersehe ich? Wo ist mein Denkfehler?

    Rechte können nicht nur als die Zahlenwerte betrachtet werden. Die Ziffern gelten für Owner, Group und Other. Du musst nicht nur schauen, wer zugreifen möchte, sondern auch wie die Besitzverhältnisse sind. Also welchem User und welcher Group gehören die Dateien/Verzeichnisse. Zudem spielen natürlich auch die Gruppenzugehörigkeiten des Zugreifenden eine Rolle, falls er nicht Owner ist.

    dedlfix.

  2. Hallo und guten Tag Jan,

    zunächst einmal sollten wir wissen, wie der Webserver bezüglich PHP eingerichtet ist.

    • Läuft er mit PHP als Apache-Modul?
    • Läuft er mit PHP als CGI?
    • Läuft er mit PHP als Fast-CGI z.B. mit suexec?

    Rechte sollten immer so gering wie möglich eingestellt bleiben.
    Wenn man auf einem aktiven Webserver arbeitet, muss ma sich ggf. auch eigene Uploadscripte bereitstellen, damit die Rechte dann anschließend passen..

    FTP ist grundsätzlich böse. Da liegen die Zugangsdaten offen lesbar im Packet-Stream...

    SSH/SCP wären besser, aber da können ggf. auch Bereiche auf dem Webserver erreicht werden, die nicht für die Benutzung von Jedermann gesund sind.

    Wenn nur Du alleine den Websercer zum Upload von Files benutzt, wäre also sftp (aus ssh) das richtige für Dich.

    Grüße
    TS

    --
    es wachse der Freifunk
    http://freifunk-oberharz.de