tomcat日志文件不可读_java

   线上机器的程序文件(包括TOMCAT自身)使用APP账号作为主运行,同时禁止了APP账号的BASH。登录系统使用了统一认证,这样每个人都有自己的账号登录系统。为了方便开发人员登录查看日志,日志文件的文件权限为"rw-r-r",同时也是系统默认的umask。这里简单说下umask权限码。在Linux系统下,新建目录的权限是777减去umask码值,新建文件的权限是666减去umaks码值,由于linux默认的umask是0022,所以一般新建目录和文件的默认权限分别是755和644。


[root@localhost ~]# umask

0022

但是,在部署tomcat后,发现tomcat的日志文件catalina.out的权限是640(即"rw-r-----"),新生成的日志文件权限全都是640,开发者使用其他用户登录后对这些日志文件均不可读!


-rw-r-----  1  app app 356K 12月 08  19:09  catalina.out

-rw-r-----  1  app app 33M  12月 05  11:30  catalina.out.4.gz

-rw-r-----  1  app app 31M  12月 06  08:44  catalina.out.3.gz

-rw-r-----  1  app app 31M  12月 07  10:02  catalina.out.2.gz

-rw-r-----  1  app app 45M  12月 08  19:09  catalina.out.1.gz

原因分析:Tomcat在启动(catalina.sh)时会重新设置UMASK

Tomcat在启动服务时可能会重新设置UMASK值,其默认值为0027,而操作系统的默认值0022,两者不一样。解决办法:需要到catalina.sh脚本里修改UMASK值:

tomcat日志文件不可读_java_02

将catalina.sh脚本中的"UMASK"的值由"0027"改为"0022",即改成系统当前用户的umask即可。

----------------------end---------------------

推荐阅读:

tomcat日志文件不可读_java_03