如何为 Tomcat webdav servlet 设置默认 umask?

如何为 Tomcat webdav servlet 设置默认 umask?

标题说明了一切。我需要 Tomcat 的 webdav servlet 以 rw-rw-r-- 权限创建文件,但它一直以 rw-r--r-- 权限创建文件。我尝试在 /etc/profile 中设置 umask,但没有帮助(尽管手动创建的新文件具有所需的权限设置)。根据 /etc/passwd,运行 Tomcat 的用户的 shell 为 /etc/false,主目录中没有 bashrc。主机操作系统是 Debian。

答案1

虽然这完全是黑客行为,但请打开 tomcat/bin/startup.sh 并在其中设置“umask 0002”。您也可以在 catalina.sh 中执行此操作,您明白了 - 您甚至可以在 catalina.sh 中找到 java 启动的位置(搜索“catalina.out”)并将其直接放在该逻辑块上方,以确保当 java 在您的可怜的 CPU 上释放时它有效。

答案2

您可以为tomcat创建一个环境文件:

其中/usr/shared/tomcat8/bin8 是适合您的 tomcat 版本,创建包含以下内容的 setenv.sh 文件:

#!/bin/bash umask 0002

答案3

我使用自定义脚本来启动和停止 tomcat,在调用标准脚本之前从中设置变量。

像这样:


/bin/sh #!/bin/sh 复制代码

CATALINA_HOME=/usr/local/tomcat

CATALINA_BASE = /网络/ tomcat / catalina-base / myapp

JAVA_HOME=/usr/local/java

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_BASE/lib

JAVA_OPTS="-Xms1024m -Xmx1024m"

UMASK=0002

导出JAVA_HOME CATALINA_HOME CATALINA_BASE JAVA_OPTS LD_LIBRARY_PATH UMASK

$CATALINA_HOME/bin/startup.sh &

退出 $?

................

变量 UMASK 完成您正在寻找的工作。

希望这可以帮助

相关内容