kann nicht auf Datei in mod_wsgi App schreiben: Erlaubnis verweigert
-
03-10-2019 - |
Frage
Ich habe eine sehr einfache mod_wsgi Python-Anwendung, dass versucht, eine Datei zu schreiben:
tempfile = open('temp.txt', 'w')
Dies schlägt mit
IOError: [Errno 13] Erlaubnis verweigert: 'temp.txt'
Der Ordner mit myapp.wsgi verfügt über Weltschreibrechte (777). Ich kann von einem einfachen PHP-Testskript in eine Datei schreiben. Dies läuft auf Mac OSX 10.6 Snow Leopard, so weit ich weiß, gibt es keine zusätzlichen Schutzmechanismen vorhanden (SELinux, AppArmor, usw.).
Warum sind Schreibrechte verweigert?
Lösung
Ja, ist die Lösung für das Problem vollständige Pfade zu verwenden Dateispeicherorte spcify (und nur auf der sicheren Seite zu sein, Shell-Befehle geben Sie in Systemaufruf (oder popen) Anrufe verwenden könnte), da die $ PATH vielleicht nicht, was Sie es erwarten).