Linux通过umask变量来控制创建文件的默认权限问题。我们知道在Linux系统规定,创建文件的最高权限为666,而创建文件夹的最高权限为777,系统通过变量umask来控制创建文件的权限问题。如果当umask的值为022时,则创建的文件权限为644,即权限是通过最高权限减去umask的值来控制的。
但Linux系统umask的默认值是0022,也就是说创建的文件应该是644的权限,而上传的文件却是640的权限。后来通过对查询Tomcat发现从tomcat8开始,catalina.sh文件中有下面几行代码
于是根据文章提示,找到自己tomcat的catalina.sh文件,大概在286行左右
一看,确实发现,tomcat的配置:
#Set UMASK unless it has been overridden
#if [ -z "$UMASK" ]; then
如果是0027的话,文件上传后,权限640,图片域名访问不到。需要修改
UMASK="0027"
fi
umask $UMASK
于是,根据文章,果断修改成“0000”
保存文件,重启tomcat,重新上传文件后,进行访问,图片正常访问成功!