Christian Boltz wrote:
Am Dienstag, 11. Juni 2002 23:38 schrieb Peter Wiersig:
Christian Boltz wrote:
Am Montag, 10. Juni 2002 19:00 schrieb T. Hantke:
Wie kann ich nun über PHP eine Datei in einem Userverzeichnis mit (User/Gruppe) user111.www anlegen/schreiben?
Such mal in der Apache-Doku nach suEXEC.
Wenn ich es richtig verstanden habe, sollte das - in Kombination mit User und Group in den VirtualHost-Definitionen - das gewünschte bewirken. Dein Apache läuft doch hoffentlich nicht als root, oder?
Wohl wirklich nicht. Wenn er aberr suEXEC benutzt um einen Befehl als preveligierter Benutzer auszufuehren, heisst das unter Linux automatisch das der Apache als root laufen muss.
suEXEC ist hier nicht das richtige Mittel, sondern sudo oder su1 oder vergleichbare Programme.
Hmm, habe ich das so falsch verstanden? Also nochmal nachgelesen.
Durch suEXEC werden Scripte mit einer in der config festgelegten uid (auf keinen Fall als root) ausgeführt und demzufolge auch vom Script angelegte Dateien unter dieser uid erzeugt.
Das dürfte also genau das sein, was Thorsten sucht.
Ja, kann es vielleicht sein. Unter dem Punkt "Using suEXEC" taucht als erster Punkt "Virtual Hosts" auf, was das einzige war das ich im Hinterkopf zu suEXEC gespeichert hatte. Der zweite Punkt "User directories" macht dann das was du vorgehabt hast. Nur will Thorsten wirklich das Skript in jedes public_html ablegen? Und gleich vorweg: SymLinks an dieser Stelle halte ich fuer eine falsche Idee. Wie schuetzt man dieses Skript dann davor, das der Benutzer es aendert? (wenn er auch noch das public_html directory nutzen will) Oder will Thorsten fuer jeden User einen VirtualHost einrichten?
Dies gilt besonders, wenn auf dem Server mehrere Virtual Hosts liegen, die von verschiedenen Benutzern genutzt werden, die nicht 100% vertrauenswürdig sind. Würden dabei Dateien als wwwrun angelegt, hätten es andere Nutzer des Webservers relativ leicht, per PHP "fremde" Dateien, die eben als wwwrun angelegt wurden, zu löschen/verändern usw.
fuer diesen Fall ist suEXEC natuerlich genau das richtige. Verstanden hatte ich folgendes: Thorsten hat den Server team.example.com und 1 PHP-Skript /do/create_dir.php und dieses Skript soll in beliebigen Verzeichnissen eine Datei erstellen, die dann am Ende user123.www gehoeren soll. Christian, zeig mir bitte eine Loesung mit suEXEC. Ich kann danach eine Loesung mit Hilfe von sudo ausarbeiten und dann koennen wir mal vergleichen. Peter