问题的环境
在Linux配置Tomcat,端口改成80(不使用反向代理,配置简单,但是被坑了!!!)

当服务使用1000以下的端口启动时,需要使用root权限,所以启动tomcat时要使用sudo来启动,此时tomcat是以root权限身份启动的。

坑来了!!

当tomcat运行时生成新的文件,其权限是750。其他普通用户的服务可能就无法读取这个文件。就报错了。。

为什么呢?????
第一感觉是umask的错误(直觉是对的)
但是 执行命令 umask 后发现没有异常。
经过一番查找发现在 tomcathome/bin/catalina.sh 中有umask相关设定。

clipboard.png

这里会给设置成0027,也就是生成的文件是750(rwxr-x---)的。
修改之后(改成0022)再启动。
问题解决!!!!


彣彧
0 声望0 粉丝

致力于B端的中台开发