2014-03-05 63 views
0

我使用的開發模式蟒蛇manage.py runserver命令並得到應該爲目錄設置什麼權限才能避免權限被拒絕?

IOError at /cmanager/upload/save 
[Errno 13] Permission denied: u'/tmp/temp/IMG_27022014_183050.png' 

當我運行chmod -R 775 "/tmp/temp/",它的工作原理。但是在每次關機/重新啓動計算機時,自動刪除/ tmp目錄,因爲需要手動創建它。

settings.py

CONTENT_STORAGE_PATH /tmp/temp/ 

控制器

if not os.path.exists(settings.CONTENT_STORAGE_PATH): 
    try: 
     os.makedirs(settings.CONTENT_STORAGE_PATH, 0644) 
    except OSError, e: 
     self.raiseException(e) 
content_storage_path = os.path.join(settings.\ 
              CONTENT_STORAGE_PATH, f.name) 
with open(content_storage_path, 'wb+') as destination: 
     for chunk in f.chunks(): 
     destination.write(chunk) 

如何避免這種Permission Denied錯誤。

設置權限是否好?如:os.chmod(content_storage_path, 0600)。如果是的話應該是什麼? 0775

注意:我要改變位置"/tmp/temp/""/var/www/temp/"在生產模式與Apache/NginX

回答

1

這是不好用os.chmod您的腳本中設置權限配置,同時,因爲你不能升級priveleges任何比任何過程本身都要高。

我不認爲你應該在這裏使用os模塊。使用內置的tempfile模塊來實現您所需要的經過驗證的跨平臺方法。

http://docs.python.org/2/library/tempfile.html

如果你的權限問題依然存在,需要解決他們的腳本之外 - 他們是環境問題,而不是代碼的責任。