我锁定了一些权限,现在nginx无法查看我的网站
背景:
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
答案 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