如何修改Tomcat UMask?

Tomcat

1 前言

一个问题,一篇文章,一出故事。
Tomcat的文件权限对单击程序的集成具有重要意义,于是整理出Tomcat修改umask的方法。

2 最佳实践

2.1 修改Tomcat配置实现

vim /usr/tomcat/apache-tomcat-8.5.81/bin/catalina.sh

修改如下代码的定义,

if [ -z "$UMASK" ]; then
    #UMASK="0027"
    UMASK="0002"
fi
umask $UMASK

重启服务使配置生效,

systemctl restart tomcat

2.2 修改Systemd配置实现

2.2.1 声明环境变量实现

vim /usr/lib/systemd/system/tomcat.service

修改如下代码的定义,

[Service]
#...
Environment='UMASK=0002'
#...

重载服务使配置生效,

systemctl daemon-reload

重启服务使配置生效,

systemctl restart tomcat

2.2.2 服务声明UMask实现

vim /usr/lib/systemd/system/tomcat.service

修改如下代码的定义,

[Service]
#...
UMask=0002
#...

重载服务使配置生效,

systemctl daemon-reload

重启服务使配置生效,

systemctl restart tomcat

2.2.3 服务Drop-In声明UMask实现

mkdir /etc/systemd/system/tomcat.service.d
vim /etc/systemd/system/tomcat.service.d/umask.conf

加入如下定义,

[Service]
UMask=0007

另外,如果目录加“-”代表具有通配性质,

mkdir /etc/systemd/system/tomcat-.service.d

注:可以匹配以“tomcat”开头中间包含任意字符且以“.service”结尾的服务。
重载服务使配置生效,

systemctl daemon-reload

重启服务使配置生效,

systemctl restart tomcat

参阅文档
==============================
https://stackoverflow.com/questions/41975808/set-umask-for-tomcat8-via-tomcat-service

没有评论

发表回复

Tomcat
如何配置Tomcat的日志轮转?

1 前言 一个问题,一篇文章,一出故事。 笔者之前为Tomcat日志自动分割写过一个脚本,最近发现如 …

Tomcat
如何用JSSE配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …

Tomcat
如何用OpenSSL SSL/TLS配置Tomcat 9 HTTPS?

1 前言 一个问题,一篇文章,一出故事。 笔者需要在Tomcat生产环境启用Tomcat的HTTPS …