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

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
xddmjj
帖子: 4
注册时间: 2024-04-02 13:02
系统: ubuntu20.04

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

#1

帖子 xddmjj » 2024-04-02 13:11

我的环境:
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文件不适用?
xddmjj
帖子: 4
注册时间: 2024-04-02 13:02
系统: ubuntu20.04

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

#2

帖子 xddmjj » 2024-04-02 18:59

又测试了一下
ubuntu20.04 LTS
apache
php-fpm7.4
nginx和php-fpm的运行用户是www-data
网站根目录在/var/www,显示所有者和所属组都是root
也一样,即使设置成000,http://ip/phpinfo.php一样可以访问
真是晕了,请求高手指教一下。
头像
astolia
论坛版主
帖子: 6463
注册时间: 2008-09-18 13:11

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

#3

帖子 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
xddmjj
帖子: 4
注册时间: 2024-04-02 13:02
系统: ubuntu20.04

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

#4

帖子 xddmjj » 2024-04-03 14:06

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文件,就这样运行,会有安全问题不?
这样好像权限有点不受限制,会不会让人利用,给我的网站挂马啊?
头像
astolia
论坛版主
帖子: 6463
注册时间: 2008-09-18 13:11

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

#5

帖子 astolia » 2024-04-03 16:36

xddmjj 写了: 2024-04-03 14:06 这样好像权限有点不受限制
哪里不受限制了?只是代码文件有变动时要记得及时重启服务,否则对网站不生效。
xddmjj
帖子: 4
注册时间: 2024-04-02 13:02
系统: ubuntu20.04

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

#6

帖子 xddmjj » 2024-04-03 23:27

收到,明白了。再次感谢老大。
回复