Der Apache Webserver legt auf Unix/Linux-Systemen im allgemeinen einen eigenen Benutzer an um sich in das Unix-Berechtigungssystem einzufügen. Meist wird dieser Benutzer wwwrun genannt. Jeder Prozeß der von dem Apache ausgeführt wird, läuft nun mit dem Benutzerrechten des Benutzers wwwrun. Aus Sicherheitsgründen billigt man diesem Benutzer nur beschränkte Rechte zu. So darf wwwrun z. B. meist keine Dateien selber in beliebige Verzeichnisse schreiben. Wenn PHP als Modul des Apache läuft, läuft es als ein Prozeß des Apache und somit unter der Benutzerkennung von wwwrun. Dies ist der Grund warum man Verzeichnisse in die PHP Daten schreiben soll erst per chmod für jeden beschreibbar machen muß. Daher muß in diesem Fall das Verzeichnis chmod 777 bzw. eine Datei die beschreibbar sein soll mindestens chmod 666 erhalten.
Wenn PHP als CGI läuft, läuft es als getrennter Prozeß unabhängig vom Apache. In diesem Fall werden PHP-Scripte mit der Benutzerkennung des FTP-Benutzers, bzw. desjenigen der das Script auf dem Server angelegt hat aufgerufen (zumindest sofern auch mod_suexec benutzt wird, was bei praktisch allen Webhostern der Fall ist). Schreibrechte für den eigenen Benutzer sind aber logischerweise bereits vorhanden und müssen nicht erst vergeben werden. Daher funktionieren in diesem Fall die Scripte ohne vorherige Rechtevergabe.
Autor des Artikels: René Maroufi, php2009@maroufi.net
Weiterführende Links:
chmod-Helfer von SelfHTML
Wenn Sie stets über Updates meiner Scripte informiert werden wollen, können Sie den Newsletter bestellen. Der Newsletter informiert ausschließlich nur über das neueste zu meinen PHP-Scripts und erscheint daher unregelmäßig, je nachdem wie häufig es Updates gibt.
Wenn Sie den Newsletter bekommen wollen, können Sie sich hier eintragen:
Aus dem Newsletter wieder austragen.
© php.maroufi.net 2009