Назад | Перейти на главную страницу

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

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

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

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

В /usr/shared/tomcat8/binгде 8 - ваша соответствующая версия tomcat, создайте файл setenv.sh, содержащий:

#!/bin/bash umask 0002

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

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


#! / bin / sh

CATALINA_HOME = / usr / местный / кот

CATALINA_BASE = / web / tomcat / catalina-base / myapp

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

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