2011-01-20 59 views
0

我有一個文件test.php。這寫入log.txt在子文件夾日誌中。用於文件夾寫入的php文件權限

我已經嘗試了一些組合,它似乎最小是007爲文件夾和006爲日誌。這是完美的嗎?

+0

下用戶/組是你的PHP腳本運行?什麼用戶/組是/ log文件夾的所有者? – Ass3mbler

+0

此問題更適合http://webmasters.stackexchange.com/或http://serverfault.com/。 – Shaun

+0

我不知道用戶/組是什麼,它運行的腳本,我只是把它放在我的服務器主文件夾。我嘗試了770文件夾和660文件,但它說訪問被禁止。 – David19801

回答

0

這絕不是完美的。這意味着每個人都可以將寫入該目錄,並且每個人都允許讀取和寫入日誌文件。

您應該確定生成PHP進程的用戶並相應地設置文件/目錄所有權。幾乎在任何情況下,對於目錄和文件,分別爲07000600就足夠了。

0

007和006幾乎肯定是不是你想要什麼。在文件權限中,最後一位數字是「世界」的代碼,每個人都不是你。

如果您的Web服務器配置了suid或類似的東西,您可以將您的權限設置爲770或660,甚至可能是700或600.這些權限限制性更強,這正是您想要的。

1

我不會說它是完美的,這取決於你想要完成什麼,以及你的用戶是如何設置的......那也不是最小的。通過該設置,每個人都可以讀取該目錄的寫入和執行。每個人都可以讀取和寫入文件。

如果可以的話,文件log.txt應該已經存在,那麼您根本就不需要擁有文件夾的權限。而且我只允許在文件中讀取和寫入需要權限的特定用戶和組。將可寫數據保存在Web根目錄之上也是一個好主意,那麼如果有人設法讓它進入它不應該存在的地方,那麼它不能直接在Web上訪問。

1

首先,test.php應該可能作爲授予其權限的用戶組中的特定用戶執行。

其次,您應該允許寫入該組,而不是每個人。權限八位數字中的三位數字向所有者,組和其他人授予權限。正如你已經設置了你的權限,你基本上讓每個人都看到你的日誌並執行你的日誌文件夾中的東西。

您可能想要給該文件夾的所有者和組完全權限並讀取/寫入日誌文件,同時也讓其他人不在文件夾中。既然如此,您想要設置文件夾的權限爲770,文件的權限爲660。只要test.php作爲擁有log.txt的用戶或組執行,它就可以正常工作並且保持警惕。

+0

而不是文件夾上的770,它會更好,如果log.txt已經存在,它聽起來不像它的上傳腳本或類似的東西,所以這應該工作。另外值得注意的是,日誌文件夾最好位於Web根目錄之上。 – profitphp

+0

我已將日誌文件移動到公用文件夾之上,但它仍然只能與006一起使用。如果它位於公用文件夾之外,可以將其保留爲006嗎? – David19801

+0

@david將它移動到Web根目錄之外實際上只是一種增加的安全措施,與您正在做的事情無關。它不會使006更安全或更具限制性。 – profitphp