Tomcat版本:8.5
问题描述:通过上传文件成功后,发现无法访问,报403 Forbidden 错误,最后找到无法访问的原因是上传的文件缺少读的权限。
备注:
1、tomcat是root用户启动的
2、nginx配置没有问题
确定nginx没有问题之后,最后把问题的根源放在tomcat身上,因为文件是用过tomcat上传的,所以文件本身的权限也是tomcat赋予的。
查了一下各种文章,发现确实如此,在catalina.sh中,存在着
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027"
fi
umask $UMASK
在官方备注文档中,写着
UMASK (Optional) Override Tomcat's default UMASK of 0027
这就意味着,tomcat默认赋予的权限是0027,缺少了读的权限
解决方案:只要把0027改为0022,并重启tomcat ,文件上传后访问恢复正常了
[参考文章]
http://blog.csdn.net/myo_o1/article/details/64131124
附:UNIX中清除tomcat进程
1、ps aux|grep tomcat
2、kill -9 进程号
网友评论