
O título diz tudo. Preciso do servlet webdav do Tomcat para criar arquivos com direitos rw-rw-r--, mas ele continua criando-os como rw-r--r--. Tentei configurar umask em/etc/profile, mas não ajudou (embora novos arquivos criados manualmente tenham as configurações de permissão desejadas). De acordo com /etc/passwd o usuário que executa o Tomcat possui /etc/false como shell e não possui bashrc em seu diretório inicial. O sistema operacional host é o Debian.
Responder1
Embora isso seja completamente um hack, abra Tomcat/bin/startup.sh e defina 'umask 0002' nele. Você também pode fazer isso em catalina.sh, você entendeu - você pode até encontrar exatamente onde o java é iniciado em catalina.sh (procure por "catalina.out") e colocá-lo diretamente acima desse bloco lógico para garantir que seja eficaz quando o java é liberado em sua CPU pobre.
Responder2
Você pode criar um arquivo de ambiente para o Tomcat:
Onde /usr/shared/tomcat8/bin
8 é a versão apropriada do Tomcat, crie o arquivo setenv.sh contendo:
#!/bin/bash umask 0002
Responder3
Eu uso scripts personalizados para iniciar e parar o Tomcat, a partir dos quais defino variáveis antes de chamar os scripts padrão.
Algo assim:
#!/bin/sh
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
exportar JAVA_HOME CATALINA_HOME CATALINA_BASE JAVA_OPTS LD_LIBRARY_PATH UMASK
$CATALINA_HOME/bin/startup.sh &
sair $?
.................
A variável UMASK faz o trabalho que você procura.
Espero que isto ajude