Probleme mit Safe-Mode

Aus schokokeks.org Wiki

Der safe_mode von PHP verhindert, dass ein Benutzer die Daten eines anderen Benutzers lesen kann.

Hinweis: Alternativ zu der hier genannten Lösung kann es sinnvoller sein, die PHP-Verarbeitung gleich auf »PHP als FastCGI« umzustellen. Dies können Sie über das Webinterface erledigen.

Problem

Wenn Dateien über ein PHP-Script auf den Server hochgeladen wurden, dann gehören diese dem Webserver (der unter einem eigenen Benutzer ausgeführt wird). Möchte ein Script, das z.b. dem Benutzer bernd gehört jetzt eine solche Datei nochmals bearbeiten (z.B. Bildbearbeitungen), dann tritt die safe_mode-Beschränkung in Kraft und der Zugriff wird aus Sicherheitsgründen verweigert.


Lösung

Damit das Script die Dateien wieder lesen darf, müssen diese wieder dem Benutzer selbst gehören. Da diese Besitzer-Änderung nur der Administrator machen kann, haben wir dafür ein Script geschrieben. Dieses erlaubt es jedem Benutzer die Dateien sich selbst zu schenken.

Die Benutzung funktioniert wie folgt:

  1. Wechseln ins das betreffende Verzeichnis
  2. Aufrufen des Scripts
cd /home/bernd/websites/foobar.com
/usr/local/bin/chown-user-files.sh

Alternativ kann dem Script auch das Verzeichnis als Argument übergeben werden.

/usr/local/bin/chown-user-files.sh /home/bernd/websites/foobar.com

Einschränkung: Das Script bearbeitet (logischerweise) nur Dateien im jeweiligen Home-Verzeichnis eines Benutzers.

Persönliche Werkzeuge