CGI: Berechtigungen für importierte Moduln

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

CGI: Berechtigungen für importierte Moduln

Beitragvon bb1898 » 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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: CGI: Berechtigungen für importierte Moduln

Beitragvon Leonidas » 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: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » 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: 129
Registriert: Mittwoch 12. Juli 2006, 14:28

Re: CGI: Berechtigungen für importierte Moduln

Beitragvon bb1898 » 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: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » 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

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]