2012-05-09 50 views
3

我有一個使用php創建文件夾的codeigniter應用程序。通過php創建的任何文件夾的所有者是'apache',但是如果我想通過ftp上傳文件夾,則所有者是我的ftp用戶名。php apache權限 - 最佳做法

我有一個php(apache)的問題,無法修改通過ftp上傳的文件夾中的文件,因爲有權限。在此期間,我已將我的ftpuser添加到apache組和apache到ftpuser組,但想知道是否有更好的方法?

+0

我推薦閱讀這個答案:http://serverfault.com/a/357109/233024 – HEDMON

+2

堆棧溢出是編程和開發問題的網站。這個問題似乎是無關緊要的,因爲它不是關於編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關Dev Ops的問題?](http://meta.stackexchange.com/q/134306)。 – jww

回答

3

通常我所做的是chgrp任何目錄php將寫入組apache運行(www在我的服務器上,可能是您的apache),chmod g + s。這將使該目錄中創建的任何文件也由Web服務器組擁有。如果默認的umask允許組寫入,這將解決您的問題。

+1

所以只是爲了澄清,如果我chmod g + s在整個網站目錄和使用www數據,但然後通過我的ftp用戶ftp和上傳文件,所有上傳的文件將自動由www數據擁有? –

1

最好的做法是隻允許用戶讀/寫他們應該的文件。

在我的網絡應用程序中,我有一個網站數據目錄,它存儲了我從應用程序動態生成的所有數據。

然後,我只允許應用程序寫入該目錄,沒有別的。