Das lighttpd + Python-Äquivalent von Apache + PHP + FastCGI + suEXEC (oder: lighttpd FastCGI-ausführende Python-Skripts mit Erlaubnis des Eigentümers)

1282
gspr

Es ist Jahre her, seit ich das letzte Mal etwas mit Webservern zu tun hatte. Das letzte Mal fand ich heraus, dass Apache zusammen mit FastCGI (eigentlich mod_fcgid) und suEXEC mir eine scheinbar perfekte Möglichkeit gab, mit PHP umzugehen. Jedes Skript würde dank suEXEC mit den Privilegien seines Eigentümers laufen, und FastCGI würde es so machen, dass PHP nicht jedes Mal spawning, wenn eine Anfrage kam. Absolut wunderbar!

Jetzt stelle ich ein kleines VPS nur zum Spaß ein. Aufgrund von Speicherbeschränkungen (und dem Wunsch, etwas Neues zu lernen) wurde Apache durch lighttpd ersetzt. Außerdem habe ich das letzte Mal geschworen, PHP nie wieder anzufassen. Ich verwende diesmal Python (und möglicherweise Haskell) für meine dynamischen Bedürfnisse. Ich habe ein bisschen mit lighttpd + FastCGI + Python herumgespielt, aber ich kann nicht erkennen, wie ich dies mit etwas Äquivalent zu suEXEC verbinden sollte.

Also zur Frage: Könnte mir jemand ein paar Hinweise geben, wie ich lighttpd mit FastCGI so einrichten würde, dass jedes angeforderte Python-Skript (über FastCGI) mit den Berechtigungen des Benutzers ausgeführt wird, der das besagte Skript besitzt?

0

1 Antwort auf die Frage

1
h0tw1r3

In Apache können Sie Muster definieren (ähnlich wie mod_cgi), die Anforderungen definieren, die an FastCGI-Anwendungen gesendet werden. Mod_fcgid ist ein FastCGI-Prozessmanager, der jede eindeutige Anwendung mit bestimmten Berechtigungen (suexec) erstellt.

Dies ist mit lighttpd nicht möglich. Lighttpd verfügt nicht über einen FastCGI-Prozessmanager, der integrierte Berechtigungen ändern kann (was bei mod_fcgid der Fall ist).

Das nächste, was Sie mit lighttpd erreichen, ist spawn-fcgi, das zufällig aus dem lighttpd-Projekt stammt. Schauen Sie sich das lighttpd ModFastCGI- Wiki unter External Spawning an.