ne peut pas écrire dans le fichier dans l'application mod_wsgi: autorisation refusée
-
03-10-2019 - |
Question
J'ai une très simple application python mod_wsgi qui tente d'écrire dans un fichier:
tempfile = open('temp.txt', 'w')
échoue avec
IOError: [Errno 13] Autorisation refusée: 'temp.txt'
Le dossier avec myapp.wsgi dispose des autorisations du monde inscriptible (777). Je peux écrire dans un fichier à partir d'un simple script de test PHP. Ceci est en cours d'exécution sur Mac OS X 10.6 Snow Leopard, donc autant que je sache, il n'y a pas de mécanismes de protection supplémentaires en place (SELinux, AppArmor, etc.).
Pourquoi les permissions d'écriture refusée?
La solution
Oui, la solution au problème est d'utiliser les chemins complets à spcify emplacements de fichiers (et, juste pour être sur les appels côté, de spécifier des commandes shell que vous utilisez peut-être dans l'appel système (ou popen)), comme $ PATH pourrait ne pas être ce que vous attendez).