Seite 1 von 1

CGI: Berechtigungen für importierte Moduln

Verfasst: Dienstag 17. Oktober 2006, 20:06
von bb1898
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.

Re: CGI: Berechtigungen für importierte Moduln

Verfasst: Dienstag 17. Oktober 2006, 20:17
von Leonidas
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.

Verfasst: Mittwoch 18. Oktober 2006, 10:24
von jens
Um es nochmal klarzustellen. Dein "Aufgerufene" CGI-Datei muß chmod 755 haben. Alle Module die importiert werden nur chmod 644!

Re: CGI: Berechtigungen für importierte Moduln

Verfasst: Freitag 20. Oktober 2006, 19:03
von bb1898
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.

Verfasst: Samstag 21. Oktober 2006, 14:47
von jens
Jep, das Verzeichnis benötigt auch chmod 755 :)