Как установить umask по умолчанию для сервлета Tomcat webdav?

Как установить umask по умолчанию для сервлета Tomcat webdav?

Название говорит само за себя. Мне нужен сервлет Tomcat webdav для создания файлов с правами rw-rw-r--, но он продолжает создавать их как rw-r--r--. Я пытался настроить umask в /etc/profile, но это не помогло (хотя вручную созданные новые файлы имеют нужные настройки прав). Согласно /etc/passwd, пользователь, который запускает Tomcat, имеет /etc/false в качестве оболочки и не имеет bashrc в своем домашнем каталоге. Хост-ОС — Debian.

решение1

Хотя это полностью хак, откройте tomcat/bin/startup.sh и установите в нем 'umask 0002'. Вы также можете сделать это в catalina.sh, вы поняли идею - вы даже можете найти место, где запускается java в catalina.sh (поиск "catalina.out"), и поместить его прямо над этим логическим блоком, чтобы гарантировать его эффективность, когда java будет запущена на вашем бедном процессоре.

решение2

Вы можете создать файл среды для tomcat:

Где /usr/shared/tomcat8/bin8 — ваша соответствующая версия tomcat, создайте файл setenv.sh, содержащий:

#!/bin/bash umask 0002

решение3

Я использую пользовательские скрипты для запуска и остановки tomcat, в которых я задаю переменные перед вызовом стандартных скриптов.

Что-то вроде этого:


#!/bin/ш

CATALINA_HOME=/usr/local/tomcat

CATALINA_BASE=/web/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 выполняет ту работу, которую вы ищете.

Надеюсь это поможет

Связанный контент