同组新来的java开发突然发现一个问题来咨询,就是他的日志监控无法被监控平台识别:
明明配置路径都正确,监控平台也能获取到他的文件名。结果上去一看发现文件都是”-rw-r—–”的权限:
手动使用 chmod -R 664 文件路径
临时解决了问题,果然,监控平台拿到了文件并展示了监控项:
于是就怀疑到底改了啥会发生这样的事儿,果然我发现grep Umask /proc/进程PID/status
得到java进程是0027,其他进程是0002,既然是0027,那肯定默认相关的文件也就是640。于是就定位在tomcat上,发现tomcat的catalina.sh里写了权限是0027:
那就简单了,在引入tomcat8的时候,将catalina.sh改成0002就解决问题。可以说tomcat8这个umask的改动就是吃饱了撑的。
最后补上tomcat8的官方文档:https://tomcat.apache.org/tomcat-8.5-doc/security-howto.html