Kann ich meine mod_perl Anwendung als normaler Benutzer laufen
Frage
Kann ich meine Mod_perl aplication als normaler Benutzer laufen ähnlich wie ein Plain-Vanilla-CGI-Anwendung unter suexec läuft?
Lösung
Von der Quelle :
Ist es möglich, mod_perl aktiviert Apache als suExec laufen?
Die Antwort ist Nein. Der Grund dafür ist, dass Sie können nicht „suid“ ein Teil eines Prozesses. mod_perl lebt im Inneren des Apache Prozess, so dass seine UID und GID sind gleich wie der Apache-Prozess.
Sie haben mod_cgi zu verwenden, wenn Sie brauchen Diese Funktionalität.
Eine andere Lösung ist es, eine crontab zu verwenden ein Skript aufrufen, die prüfen wird ob es etwas zu tun und ausführen wird es. Der mod_perl-Skript in der Lage, diese zu erstellen und aktualisieren ToDo-Liste.
Eine nuancierte Antwort mit einigen möglichen Abhilfen von "Practical mod_perl" Buch : (Ich hoffe, das ist kein Raub Inhalt, wenn sie es bitte bearbeiten ist out)
mod_perl 2.0 die Situation verbessert, da sie es erlaubt, einen Pool von Perl Dolmetscher ein gewidmet sein einziger virtueller Host. Es ist möglich zu stellen Sie die UIDs und GIDs davon Dolmetscher die des Benutzers zu sein für die der virtuellen Host konfiguriert, so dass die Benutzer arbeiten kann innerhalb ihrer eigenen geschützten Räumen und sind nicht in der Lage mit anderen stören Benutzer.
Weitere Lösungen aus dem sme Buch sind in Anhang C2
Andere Tipps
Wie mod_perl läuft innerhalb des Apache-Prozesses, würde ich denken, die Antwort im Allgemeinen nein. Sie könnten zum Beispiel einen separaten Apache-Prozess als dieser gewöhnlichen Benutzer ausführen und die Haupt Apache-Prozess als Proxy für die es verwenden.