CGI: Berechtigungen für importierte Moduln

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
bb1898
User
Beiträge: 130
Registriert: Mittwoch 12. Juli 2006, 14:28

Dienstag 17. Oktober 2006, 20:06

Umgebung: Ubuntu Dapper, Python 2.4.3, Apache 2.0.55. Verzeichnis für CGI-Skripte unterhalb von /home/<benutzer>/public_html eingerichtet und die Apache-Konfiguration entsprechend angepasst.

Und jetzt passiert folgendes: mein Skript importiert ein Modul, das in einem anderen Unterverzeichnis meines Home-Verzeichnisses liegt:

Code: Alles auswählen

import sys
sys.path.append('/home/ich/meinpythonmodulverzeichnis')
import meinpythonmodul
Normalerweise klappt das. Aber im CGI-Skript funktioniert es anscheinend nur, wenn alle (oder insbesondere der Apache-Benutzer) Lese- und Ausführungsrechte für /home/ich/meinpythonmodulverzeichnis und Leserecht für meinpythonmodul haben. Andernfalls bekomme ich die Meldung, meinpythonmodul werde nicht gefunden.

Stimmt das, oder bin ich da bei der Ursachenforschung irgendwo in die Irre gegangen? Es kommt mir schon etwas merkwürdig vor.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dienstag 17. Oktober 2006, 20:17

bb1898 hat geschrieben:Stimmt das, oder bin ich da bei der Ursachenforschung irgendwo in die Irre gegangen? Es kommt mir schon etwas merkwürdig vor.
Stell dir vor, der Apache-user hat keine Lese und Ausführrechte in diesem Ordner und auf dieses Modul. Wie soll Python es denn laden? Python bracuht auf jeden Fall Leserechte üfr die Moduldatei. Die Ausführrechte für den Ordner wären auch nicht schlecht, um gucken zu können ob der Ordner Packages hat, oder ob vielleicht schon optimierte Fassungen (.pyc, .pyo) des Scriptes vorliegen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Mittwoch 18. Oktober 2006, 10:24

Um es nochmal klarzustellen. Dein "Aufgerufene" CGI-Datei muß chmod 755 haben. Alle Module die importiert werden nur chmod 644!

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
bb1898
User
Beiträge: 130
Registriert: Mittwoch 12. Juli 2006, 14:28

Freitag 20. Oktober 2006, 19:03

Leonidas hat geschrieben:Die Ausführrechte für den Ordner wären auch nicht schlecht, um gucken zu können ob der Ordner Packages hat, oder ob vielleicht schon optimierte Fassungen (.pyc, .pyo) des Scriptes vorliegen.
Mehr als "nicht schlecht": die Ausführrechte für den Ordner scheinen notwendig zu sein. Ich habe die Rechte Stückchen für Stückchen ausgeweitet, deshalb bin ich da einigermaßen sicher.
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Samstag 21. Oktober 2006, 14:47

Jep, das Verzeichnis benötigt auch chmod 755 :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten