Answers:
sudo chown -R yourname:www-data cake
然后
sudo chmod -R g+s cake
第一个命令更改所有者和组。
第二个命令添加了s属性,该属性将使cake中的新文件和目录具有相同的组权限。
用户设定
因此,让我们从将主要用户添加到Apache用户组开始:
sudo usermod -a -G www-data demo
这会将用户“ demo”添加到“ www-data”组。确保确保通过上面显示的usermod命令同时使用-a和-G选项。
您将需要注销并再次登录以启用组更改。
现在检查组:
groups ... # demo www-data
现在,我是两个小组的成员:我自己的小组(演示)和Apache小组(www-data)。
资料夹设定
现在,我们需要确保public_html文件夹归主要用户(demo)所有,并且是Apache组(www-data)的一部分。
让我们进行设置:
sudo chgrp -R www-data /home/demo/public_html
在讨论权限时,我将简要介绍一下sudo命令:使用上图所示的绝对路径(/ home / demo / public_html)而不是相对路径(〜/ public_html)是一个好习惯。这样可以确保在正确的位置使用sudo。
如果您有一个带有符号链接的public_html文件夹,则请谨慎使用该命令,因为它将跟随符号链接。在那些使用public_html文件夹的情况下,请手动更改每个文件夹。
塞吉德
到目前为止,还不错,但是请记住,我们刚才给出的命令仅会影响现有文件夹。那有什么新东西呢?
我们可以设置所有权,因此“ www-data”组中也可以包含任何新内容。
第一个命令将更改public_html目录的权限以包括“ setgid”位:
sudo chmod 2750 /home/demo/public_html
这样可以确保将所有新文件都指定为“ www-data”组。如果您有子目录,则需要为每个子目录运行该命令(这种权限不适用于'-R')。幸运的是,将自动设置“ setgid”位来创建新的子目录。
如果我们需要允许对Apache的写访问权限(例如,对上载目录的访问权限),请按如下所示设置该目录的权限:
sudo chmod 2770 /home/demo/public_html/domain1.com/public/uploads
只需设置一次权限,因为新文件将自动被分配正确的所有权。