网站文件夹的www-data和group read问题

时间:2016-10-19 15:31:06

标签: apache .htaccess ubuntu nginx

我锁定了一些权限,现在nginx无法查看我的网站

背景:

  • 我部署&使用mysite用户运行CLI。
  • 我希望mysite和www-data都可以访问该网站的文件夹 mysite和www-data用户
  • 都属于www-data组:

root@dev:~# groups mysite mysite : mysite www-data root@dev:~#

root@dev:~# groups www-data www-data : www-data

文件夹(具有组权限)

drwxrwx--- 3 mysite www-data 4096 Jun 26 14:12 sites/

www-data试图找到它:

root@dev:~# sudo -u www-data stat /home/mysite/sites/ stat: cannot stat ‘/home/mysite/sites/’: Permission denied

www-data可以看到父文件夹正常:

root@dev:~# sudo -u www-data stat /home/ File: ‘/home/’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd01h/64769d Inode: 1179649 Links: 3 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2016-10-19 10:59:05.845267219 -0400 Modify: 2016-06-26 14:12:24.890310000 -0400 Change: 2016-06-26 14:12:24.890310000 -0400 Birth: - root@dev:~# sudo -u www-data stat /home/mysite/ File: ‘/home/mysite/’ Size: 4096 Blocks: 8 IO Block: 4096 directory Device: fd01h/64769d Inode: 1180062 Links: 10 Access: (0770/drwxrwx---) Uid: ( 1000/ mysite) Gid: ( 1000/ mysite) Access: 2016-10-19 10:59:10.081267219 -0400 Modify: 2016-10-19 10:35:01.221267219 -0400 Change: 2016-10-19 10:35:01.221267219 -0400 Birth: -

我还检查过SELinux是否在搞乱它

root@dev:~# setenforce 0 setenforce: SELinux is disabled

我也试过了:

chown www-data:www-data /home/mysite/sites/

2016年10月19日更新: 在'sites'所属的文件夹上设置acl让我按照我设置的方式工作:

setfacl --modify = g:www-data:x / home / mysite

2 个答案:

答案 0 :(得分:2)

任何Web服务器都需要对包含该站点的所有父目录的可执行权限(但不能读取)。在主目录上设置ACL就好了。

您也可以将/ home / mysite组更改为www-data,并将该目录的权限锁定为710.

另一个解决方案是将站点目录移动到比主目录更少的限制,例如/ var / www,但保留站点目录中现有的锁定权限。

我可能会使用您的解决方案,或将网站移至/ var / www

答案 1 :(得分:1)

在'sites'所属的文件夹上设置acl让我按照我设置的方式工作:

setfacl --modify=g:www-data:x /home/mysite