PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage bzgl. Rechtemanagement bzgl. PHP/Apache



Hagbard-Celine
15.01.13, 13:32
Hallo zusammen,

ich habe mal eine Frage zu den Linux-Benutzerrechten, speziell bei
Apache und PHP. Ich bin mir deswegen auch nicht ganz sicher, ob ich
hier im richtigen (Unter-)Forum gelandet bin, ich hoffe aber mal
das es passt.

Gehen wir mal davon aus, das Apache als eigener Benutzer läuft
und nicht in der Gruppe des FTP-Benutzers ist.
Und PHP als suPHP mit den rechten des jeweiligen FTP-Benutzers läuft.


Wenn ich jetzt per FTP eine PHP-Datei auf dem Server lade und
die folgenden Rechte gebe:

Besitzer: R,W,X
Gruppe: R
Sonstige:

Dann bedeutet das ja, das der Besitzer und somit auch PHP, die
Datei lesen, schreiben/ändern und ausführen darf. Der Apache
(Sonstige) aber nichts darf.

Findet dann auch keine Ausgabe der Datei statt? Weil der PHP-Interpreter
darf die Datei ja lesen und gibt ja den "geparsten Inhalt" zur Ausgabe
an den Apache weiter. Sind hier die ursprünglichen, für den Apache gesetzten,
Dateirechte der Datei überhaupt noch relevant?

Anders wäre es ja bei einer HTML-Datei, wo der Apache diese tatsächlich
direkt verarbeitet.



Ich würde gerne wissen, wie dieses Zusammenspiel genau abläuft bzw. wie
es sich hier mit den Benutzerrechten genau verhält.


Würde mich sehr freuen, wenn mir da jemand helfen kann.
Gerne auch nur einen Link, wo diese Thematik ausführlich erklärt wird.
(Nicht nur das Linux-Rechtemanagement an sich)


Beim Googeln konnte ich leider dazu nichts brauchbares finden.


Vielen Dank

marce
15.01.13, 14:25
Die Lösung steht eigentlich direkt auf der Seite:

suPHP is a tool for executing PHP scripts with the permissions of their owners. It consists of an Apache module (mod_suphp) and a setuid root binary (suphp) that is called by the Apache module to change the uid of the process executing the PHP interpreter.

Daraus ergibt sich eigentlich alles.

Alternativ: Hast Du ausprobiert, was passiert. Zeitaufwand ca. 2 Minuten.

zyrusthc
15.01.13, 14:26
AFAIK verwendent der Apache wenn er mit PHP Interpreter arbeitet default mit dem www User unter dem der Apache läuft. Wenn du das ändern willst dann kannste auch noch mit sudo arbeiten, worüber du dem Apache User Sonderrechte gibst die sich über den tatsächlichen Dateichmod hinwegsetzen.

Greeez Oli

Hagbard-Celine
15.01.13, 15:16
Hallo Ihr beiden,

danke für das Feedback.

@marce
Okay ich dachte bisher, das suPHP kein Modul von Apache wäre, sondern eigenständig wie z.B. FastCGI.

Warum ich es nicht ausprobiere liegt daran, das ich ein solches Setup aktuell nicht besitze. Mich interessiert nur das Zusammenspiel zwischen PHP und Apache im Bezug auf die Dateirechte. (Was bei mod_php einfach wäre, da Apache und PHP unter dem selben Benutzer laufen.)