[Django] Errno 13 - Permission denied

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
snoer
User
Beiträge: 29
Registriert: Montag 2. Juni 2008, 18:13

Samstag 24. Januar 2009, 15:55

Moin
Ich habe mit Django ein Projekt erstellt mit dem man unter anderm Dateien hochladen kann. In der Entwicklungsumgebung hat das auch alles schön funktioniert.

Nun da das Projekt auf meinem Apache2 läuft gibt es aber verständlicher weise ein Rechteproblem, wenn ich eine Datei hochladen möchte.

Code: Alles auswählen

destination = open(upload_object['path']+upload_object['name'], 'wb+') 

Code: Alles auswählen

[Errno 13] Permission denied: mein/pfad/
Wie finde ich nun heraus welche Zugriffsrechte der Ordner haben muss?
Welcher Benutzer wird vom apache2 server benutzt?
Ich bin natürlich dankbar für eine Lösung aber ebenso für links zu Wikiartikeln oder Blogbeiträgen, die mich selbst eine Lösung finden lassen.

Ich bin ein ziemlicher Laie, also erschlagt mich nicht wenn ich wichtige Informationen unterschlagen habe.

Ich sag schonmal danke.
schöjn Gruß
DasIch
User
Beiträge: 2452
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Samstag 24. Januar 2009, 16:54

Pfade setzt man mit os.path.join zusammen.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 24. Januar 2009, 17:30

snoer hat geschrieben:Welcher Benutzer wird vom apache2 server benutzt?
Das musst du wissen. Bei mir läuft der Apache als ``www-data`` aber der Django-Prozess via suEXEC als ``django`` weil ich das so konfiguriert habe. Wie hast du es denn konfiguriert?
snoer
User
Beiträge: 29
Registriert: Montag 2. Juni 2008, 18:13

Samstag 24. Januar 2009, 18:00

@DasIch
Danke für den Einwurf.
Ich bin was Technik und Informatik angeht absoluter Autodidakt, und habe deswegen immer da weiter gelernt, wo grad eine interessante Lücke aufgetaucht ist.
Ich gelobe Besserung :)

@Leonidas
Das eben ist mein problem. Ich bin zwar nicht ganz und gar unwissend aber im großen und ganzen doch relativ inkompetent. Meinen Apache2 hab ich per apt installiert.
Ich benutze ein LinuxMint das auf Ubuntu8.4 basiert.
in welcher conf ist der benutzer zu finden? in der apache2.conf habe ich keinen eintrag der offensichtlich einem username zuzuordnen wäre finden können.
Mein Projekt läuft mittels mod_wsgi. Auch das habe ich per apt installiert und nur schwach ahnend was es bewirkt per copy and pase konfiguriert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 24. Januar 2009, 18:08

snoer hat geschrieben:in welcher conf ist der benutzer zu finden? in der apache2.conf habe ich keinen eintrag der offensichtlich einem username zuzuordnen wäre finden können.
Das steht irgendwo in der SysVInit-Konfiguration, wird aber wohl genauso wie bei Debian ``www-data`` sein. Kannst du ja mittels ``ps aux`` feststellen.
snoer hat geschrieben:Mein Projekt läuft mittels mod_wsgi. Auch das habe ich per apt installiert und nur schwach ahnend was es bewirkt per copy and pase konfiguriert.
Schau einfach in ``ps aux`` nach, als welcher User das läuft.
snoer
User
Beiträge: 29
Registriert: Montag 2. Juni 2008, 18:13

Samstag 24. Januar 2009, 20:25

vielen dank, du hast mir sehr geholfen!
Antworten