上传代码后,尝试访问
出现如下错误
先尝试对文件修改权限
[root@host wechat.bohongtao.online]# chmod -R 755 ./wechat/ chmod: changing permissions of `./wechat/web/.user.ini': Operation not permitted [root@host wechat.bohongtao.online]#
然后引出了这个问题,.user.ini是什么鬼,直接rm
[root@host web]# rm .user.ini rm: remove regular file `.user.ini'? y rm: cannot remove `.user.ini': Operation not permitted [root@host web]#
厉害了,删不掉!!!!
然后我尝试打开编辑这个文件,无法保存,自带readonly属性
解决方法:
[root@host web]# lsattr -a -------------e- ./index.php -------------e- ./. -------------e- ./index-test.php -------------e- ./MP_verify_4k0CUUNDC98LBQU6.txt ----i--------e- ./.user.ini -------------e- ./yii -------------e- ./.user.ini~ -------------e- ./static -------------e- ./uploads -------------e- ./favicon.ico -------------e- ./robots.txt -------------e- ./.. -------------e- ./.gitignore
发现了么,这个文件有个i参数,去掉
[root@host web]# chattr -i .user.ini
打开这个文件,注释里面的内容
#open_basedir=/www/wwwroot/wechat.bohongtao.online/wechat/web/:/tmp/:/proc/
解释一下,open_basedir这个参数是指定一个目录树,当此网站要求访问目录树之外的文件时,会报错
然后返回修改权限,正常
[root@host wechat.bohongtao.online]# chmod -R 755 ./wechat/
接着,既然刚才去掉了i参数,这次要加上
[root@host web]# chattr +i .user.ini [root@host web]# lsattr -a -------------e- ./index.php -------------e- ./. -------------e- ./index-test.php -------------e- ./MP_verify_4k0CUUNDC98LBQU6.txt ----i--------e- ./.user.ini -------------e- ./yii -------------e- ./.user.ini~ -------------e- ./static -------------e- ./uploads -------------e- ./favicon.ico -------------e- ./robots.txt -------------e- ./.. -------------e- ./.gitignore
再次解释:lsattr命令是查看文件属性,当带i时,文件不能被修改,删除,写入,改名,设定链接,所以i参数对系统安全作用极大;