¿Cómo configurar una máscara de usuario predeterminada para el servlet webdav de Tomcat?

¿Cómo configurar una máscara de usuario predeterminada para el servlet webdav de Tomcat?

El título lo dice todo. Necesito el servlet webdav de Tomcat para crear archivos con derechos rw-rw-r--, pero sigue creándolos como rw-r--r--. Intenté configurar umask en /etc/profile, pero no ayudó (aunque los archivos nuevos creados manualmente tienen la configuración de permisos deseada). Según /etc/passwd, el usuario que ejecuta Tomcat tiene /etc/false como shell y no tiene bashrc en su directorio de inicio. El sistema operativo anfitrión es Debian.

Respuesta1

Si bien esto es completamente un truco, abra tomcat/bin/startup.sh y configure 'umask 0002' en él. También puedes hacer esto en catalina.sh, ya entiendes la idea; incluso puedes encontrar exactamente dónde se inicia Java en catalina.sh (busca "catalina.out") y colocarlo directamente encima de ese bloque lógico para garantizar que sea efectivo cuando Java se suelta en tu pobre CPU.

Respuesta2

Puede crear un archivo de entorno para Tomcat:

Donde /usr/shared/tomcat8/bin8 es su versión de Tomcat adecuada, cree el archivo setenv.sh que contenga:

#!/bin/bash umask 0002

Respuesta3

Utilizo scripts personalizados para iniciar y detener Tomcat, desde los cuales configuro variables antes de llamar a los scripts estándar.

Algo como esto:


#!/bin/sh

CATALINA_HOME=/usr/local/tomcat

CATALINA_BASE=/web/tomcat/catalina-base/miaplicación

JAVA_HOME=/usr/local/java

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_BASE/lib

JAVA_OPTS="-Xms1024m -Xmx1024m"

UMASK=0002

exportar JAVA_HOME CATALINA_HOME CATALINA_BASE JAVA_OPTS LD_LIBRARY_PATH UMASK

$CATALINA_HOME/bin/startup.sh&

salir $?

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

La variable UMASK hace el trabajo que buscas.

Espero que esto ayude

información relacionada