簡體   English   中英

編寫文件時拒絕Python CGI腳本權限

[英]Python CGI script permission denied when writing file

我在/ Library / WebServer / CGI-Executables中有一個名為test.cgi的python腳本。 我在/ Library / WebServer / Documents中有一個index.html文件。 我的html文件包含一個發布到CGI腳本的表單,並且工作正常。 當我的腳本嘗試寫入文件時,我收到以下錯誤:

在此輸入圖像描述

我指定的輸出目錄無關緊要,我得到相同的錯誤信息。 我已經嘗試更改cgi-bin文件夾和腳本的權限,但這也不起作用。 有什么建議么?

在Linux上,Web服務器通常作為非特權用戶和組運行。 通常用戶= www-data和group = www-data,但這取​​決於您的設置。 CGI繼承了這個用戶和組。

要將文件創建為www-data,您需要確保該目錄可寫入該用戶。

一種常見的方法是確保目錄在www-data和writeable組中。 以下命令是一個示例:

$ chgrp www-data /Users/user/Documents/pictures
$ chmod g+rwx /Users/user/Documents/pictures

這只適用於您自己在www-data(或root)組中的情況。

您可能希望使該目錄中的現有文件可寫:

$ chgrp www-data /Users/user/Documents/pictures/*
$ chmod g+rw /Users/user/Documents/pictures/*

您還需要檢查/ users / user / Documents / pictures上面的所有目錄是否可以訪問www-data。 所以chgrp / chmod如果他們不向任何人開放也是如此。

看起來你在/Users/user/Documents/pictures/lol.jpg的某個時候沒有寫權限 - 你應該在那里修改權限(同時考慮到安全隱患)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM