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