Joomla! und das wwwrun Problem

Was ist das eigentlich wwwrun Problem genau?

Die meisten Webserver laufen unter einem mit UNIX verwandten Betriebssystem.

UNIX kennt für alle Verzeichnisse und Dateien die Rechte:
Lesen / Schreiben / Ausführen (rwx)
Ferner gibt es 3 Klassen von Benutzern:
Besitzer / Gruppe / Alle andern

Diese Rechte werden als binäre Zahlen dargestellt mit der Reihenfolge BesitzerGruppeAlle. So bedeutet 777 dass sowohl der Besitzer als auch die Gruppe und alle Übrigen alles mit der Datei anstellen dürfen.

In einer Joomla Installation sind die Rechte normalerweise so gesetzt:
Für die Ordner 755 (Besitzer: rwx, alle Anderen: rx), für die Dateien im Joomla-Verzeichnis 644 (Eigentümer:rw, alle Anderen:r).

Nun ist die grosse Frage, wer ist eigentlich der Besitzer einer Datei oder eines Verzeichnisses? Und hier liegt das Problem.
Ein Webhoster kann PHP als Apache als Apache-Modul betreiben. Damit haben aber alle Dateien und Ordner, die von PHP im Kontex des Apache erzeuget oder geändert werden, den Webserver selbst als Besitzer. Er heisst meist wwwrun oder nobody. Daher kommt der Name des Problems:
Man ist als FTP User plötzlich nicht mehr in der Lage, Files zu löschen oder zu editieren, da man nicht über die Rechte verfügt.

WARNUNG
Die Quick-and-Dirty Methode um dieses Problem zu lösen wäre natürlich, alle Verzeichnis- und Fileberechtigungen auf 777 zu setzen - dann darf ja jeder alles. Das sollte man aber tunlichst vermeiden, man öffnet Angriffen aus dem Netz damit ein Scheunentor.

Besser ist es, wenn der Webhoster PHP als CGI, als eigenständige App laufen lässt - das kostet zwar Ressourcen (deshalb tun es einige nicht) - aber dann kann  der PHP User und der FTP User derselbe sein, und das Problem stellt sich erst gar nicht.

Deshalb: Vorsicht bei der Wahl des Webhosters. Besser erst Fragen, anstatt nachher Ärger zu haben.

3.5 Timeline