分页: 1 / 1

请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-02 13:11
xddmjj
我的环境:
ubuntu20.04 LTS
nginx1.80
php-fpm7.4
nginx和php-fpm的运行用户是www-data
网站根目录在/wwwroot,显示所有者和所属组都是root

我是用winscp将phpinfo.php文件上传到网站的根目录。然后这个文件的所有者是 root,所属组也是 root

我突发奇想,将phpinfo.php这个文件设置为000,即所有者,所属组,其它都没有权限。

但我执行http://ip/phpinfo.php时,居然 phpinfo页面还能正常显示。

我现在好奇的是:
php-fpm的运行用户是www-data
/wwwroot目录的所有者和所属组是root
php-fpm运行phpinfo.php文件时,相当于是其它组,可其它组此时的权限是0,应该不能读取phpinfo.php,可我执行http://ip/phpinfo.php,为什么还能正常显示呢?

请教大神指导一下。

补充:
我用
http://ip/1.jpg
测试了一下。
只要设置为770,就显示403错误。而只要设置为774,就可以正常下载这个jpg图片。
说明,文件权限对jpg文件适用,但搞不明白,对为什么对php文件不适用?

Re: 请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-02 18:59
xddmjj
又测试了一下
ubuntu20.04 LTS
apache
php-fpm7.4
nginx和php-fpm的运行用户是www-data
网站根目录在/var/www,显示所有者和所属组都是root
也一样,即使设置成000,http://ip/phpinfo.php一样可以访问
真是晕了,请求高手指教一下。

Re: 请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-03 11:08
astolia
因为作为代码文件,它的内容被缓存了。你把php7.4-fpm重启一下就能看到效果了,sudo systemctl restart php7.4-fpm

要禁止缓存功能,把/etc/php/7.4/fpm/php.ini里面的opcache.enable设置成0并重启php7.4-fpm

Re: 请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-03 14:06
xddmjj
astolia 写了: 2024-04-03 11:08 因为作为代码文件,它的内容被缓存了。你把php7.4-fpm重启一下就能看到效果了,sudo systemctl restart php7.4-fpm

要禁止缓存功能,把/etc/php/7.4/fpm/php.ini里面的opcache.enable设置成0并重启php7.4-fpm
老大,你真奶大神是也。按照您的说法操作了一下,果然搞定了。

再次向您表示感谢。

另外,还想请教一下,我如果不修改php.ini文件,就这样运行,会有安全问题不?
这样好像权限有点不受限制,会不会让人利用,给我的网站挂马啊?

Re: 请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-03 16:36
astolia
xddmjj 写了: 2024-04-03 14:06 这样好像权限有点不受限制
哪里不受限制了?只是代码文件有变动时要记得及时重启服务,否则对网站不生效。

Re: 请教ubuntu+nginx+php文件权限设置问题

发表于 : 2024-04-03 23:27
xddmjj
收到,明白了。再次感谢老大。