PHP的Apache的权限 – 最佳实践

我有一个使用php创build文件夹的codeigniter应用程序。 通过PHP创build的任何文件夹的所有者是'apache',但是如果我想通过ftp上传文件夹,则所有者是我的ftp用户名。

我有一个问题与PHP(阿帕奇)不能够修改一个文件,通过FTP上传的文件,因为权限。 在此期间,我已经将我的ftpuser添加到apache组和apache到ftpuser组,但想知道是否有更好的方法?

通常我所做的是chgrp任何目录php将写入组(Apache服务器上的WWW,可能是你的Apache),chmod g + s。 这将使该目录中创建的任何文件也由Web服务器组拥有。 如果默认的umask允许组写入,这将解决您的问题。

最好的做法是只允许用户读/写他们应该的文件。

在我的网络应用程序中,我有一个网站的数据目录,我从应用程序中存储所有动态生成的数据。

然后,我只允许应用程序写入该目录,没有别的。