在www数据组中添加了“youri”

grep youri /etc/group

www-data:x:33:youri
youri:x:1004:

当我用FTP上传东西时,文件权限是-rw-------
ls -all

total 176
drwxr-xr-x 2 youri youri   4096 feb 25 12:38 .
dr-xr-xr-x 3 youri youri   4096 feb 25 12:08 ..
-rw-r--r-- 1 youri youri     17 feb 25 12:27 index.php
-rw------- 1 youri youri 164655 feb 25 12:24 test.pdf (uploaded with FTP)

文件index.php由nano创建,并通过sudo chown youri:youri index.php更改权限
当我访问我的网站时,它会显示index.php,但是/test.pdf会给我一个“权限被拒绝”的错误

最佳答案

您的Web服务器没有读取该文件的权限。
通常,ftp服务器有一个名为“umask”的配置值,该值定义不授予的权限(与chmod值的二进制倒数)
为了提高安全性,大多数ftp服务器(如vsftp)都会附带默认umask 055或077
如您所见,index.php是不可执行的。尽管从技术上讲它只是读的,但从语义上讲,脚本是由web服务器执行的。web服务器作为用户www数据运行。
要进行此项工作,请更改以下内容:

- Make youri's default group www-data: usermod -g www-data youri
- Change /etc/vsftpd.conf and set a umask of 022
- Restart vsftpd
- chmod 755 index.php (or delete it and upload it again)

10-07 18:32