Apache Tomcat日志记录默认权限



我想知道是否有任何方法可以设置使用Tomcat的logging.properties文件创建的日志的默认文件权限?我的logging.properties文件如下所示:

handlers = java.util.Logging.FileHandler
java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.pattern = /var/lib/<TOMCAT INSTANCE>/logs/system.log
java.util.logging.FileHandler.limit = 2097152
java.util.logging.FileHandler.count = 50
java.util.logging.FileHandler.formatter = java.util.Logging.SimpleFormatter

我希望所有创建的日志都具有640的文件权限,但在阅读了一些关于FileHandler和其他替代方案的文档后,我不确定这是否可行。

如有任何帮助/指导,我们将不胜感激!

谢谢你抽出时间。

我今天花了很长时间搜索这个,所以我发布了我对这个旧票证的解决方案。我是从Linux安装开始工作的,我相信这也是最初海报所使用的。

在Tomcat 8.5中,这是由环境变量UMASK控制的。如果在Tomcat启动时未设置此变量,则Tomcat会将umask设置为0027,以便文件具有权限(rw-r-----)。您可以在Tomcat的bin/catalina.sh文件中看到这种逻辑。

这个解决方案与pksiazek的解决方案不同,因为它不涉及编辑Tomcat的任何脚本,以防出现问题。它与pksiazek的解决方案相同,因为它将影响Tomcat创建的所有文件,而不仅仅是日志文件。

对于不熟悉umask值如何映射到文件权限的人来说,你可能会发现umask计算器很有用。这里有一个:http://www.webune.com/forums/umask-calculator.html

唯一的方法是为Tomcat进程的所有者更改umask(最好的地方是Tomcat启动脚本)。

但要注意,这将更改Tomcat创建的所有文件的权限。

最新更新