我在我的 ubuntu 机器上安装了一个 php。网络根是/var/www
我像这样设置这个文件夹的权限:
sudo chown -R ftpuser:www-data /var/www
ftpuser 是我设置的用户,因此我可以从网络上的另一台机器 ftp 到 /var/www。www-data 是 php 使用的用户。whoami
我使用来自 php 的仔细检查。
每当我 ftp 将新文件上传到机器时,该组都没有对该文件的权限。因此,当我尝试通过浏览器访问它时,machine-name/new-file.php
我被告知权限被拒绝,我必须去chmod
获取新文件。
我想知道是否有一种方法可以默认 www-data 用户/组具有对新文件的访问权限,这样我就不必保留每个新文件的 chmod 了?
您可以使用 ACL。要为 Ubuntu 10.10 设置 ACL,首先使用 /etc/fstab 中的 acl 选项挂载文件系统。
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 默认值,acl 0 1
然后为此目的创建一个用户可能属于的组。
用户需要注销并再次登录才能成为开发人员组的成员。
当然,如果 /var/www 目录中有您想要的内容,请不要这样做,这只是为了说明如何设置它以启动:
然后在配置文件中用“/var/www/public”替换对“/var/www”的引用并重新加载。
如果我们想限制除创建文件的用户之外的所有人的删除和重命名:
这样,如果我们想为存在于 Apache 文档根目录之外的框架创建目录,或者可能创建服务器可写目录,这仍然很容易。
Apache 可写日志目录:
Apache 可读的库目录:
我确定你已经解决了这个问题,所以这适用于任何有类似要求的人
在您的 webroot 文件夹上运行“更改所有权”命令:
这将使您成为所有者用您的用户名替换“manny”,使您能够在 www 文件夹中写入/读取
如果您的网络服务器甚至无法读取文件,则很可能是
new-file.php
600 的权限(所有者可读写)。在您的 FTP 应用程序中搜索umask设置,并确保它类似于 007。如果您的 Web 应用程序需要 chmod 文件(或其他只能由文件所有者完成的操作),您需要另一种方法。如果您使用的是 Apache,则应考虑使用itk MPM。使用该模块,您可以使 Apache 使用与“ftpuser”相同的用户运行/打开文件。如果您需要有关此主题的更多信息,请添加评论。