我平时做nginx环境的时候一般都是用以下方法,
nginx www用户 www组,
php-fpm www用户www组,
网站,A用户www组,这时候设置的权限是775即可,实际上755 是用不了的,因为php-fpm 和 nginx 无执行权限而报403,好,这时候php-fpm可以新建一个pool用A用户和WWW组来跑,这时候php-fpm就没有403的问题了,那么nginx还是会报403,因为读取不了目录,没权限。还是得要775权限。
问题如下:
1、这种配置实际存在以前虚拟主机时代的跨站问题,即A站用户可以读B,因为775权限,他们甚至可读写。是这样吗?
2、如果nginx用root跑,似乎可解决这个问题,即NGINX root,pph-fpm和站点用户对应起来,那么听说nginx不能用root跑,具体你们是如何搞得呢?请指教
PHP可以用open_basedir辅助隔离各个用户之间的目录。只能读自己的,不能读别人的。
nginx :
user www www;
php-fpm :
user = www
group = www
目录:
drwxr-xr-x 就是755