我有一个使用php创建文件夹的codeigniter应用程序。通过php创建的任何文件夹的所有者是'apache',但是如果我想通过ftp上传文件夹,则所有者是我的ftp用户名。
我有一个问题是php(apache)无法修改由于权限而通过ftp上传的文件夹中的文件。与此同时,我已将我的ftpuser添加到apache组,并将apache添加到ftpuser组,但是想知道是否有更好的方法?
答案 0 :(得分:3)
一般来说,我所做的是chgrp任何目录php将写入组apache运行为(我的服务器上的www,可能是你的apache),chmod g + s。这将使该目录中创建的任何文件也归Web服务器组所有。如果默认的umask允许组写,这将解决您的问题。
答案 1 :(得分:1)
最佳做法是仅允许用户读取/写入应该使用的文件。
在我的网络应用程序中,我有一个网站的数据目录,我存储了应用程序中所有动态生成的数据。
然后我只允许应用程序写入该目录,而不是其他任何内容。