The title says it all. I need Tomcat's webdav servlet to create files with rw-rw-r-- rights, but it keeps creating it as rw-r--r--. I tried to set up umask in /etc/profile, but it didn't help (although manualy created new files has desired permission settings). According to /etc/passwd the user that runs Tomcat has /etc/false as shell and has no bashrc in his home directory. The host os is Debian.
While this is completely a hack, open up tomcat/bin/startup.sh and set 'umask 0002' in it. You could also do this in catalina.sh, you get the idea - you could even find right where java launches in catalina.sh (search for "catalina.out") and put it directly above that logic block to ensure it's effective when java is let loose on your poor CPU.
You can create an environment file for tomcat:
In
/usr/shared/tomcat8/bin
where 8 is your appropriate tomcat version, create setenv.sh file containing:#!/bin/bash umask 0002
I use custom scripts for starting and stopping tomcat, from which I set variables before calling the standard scripts.
Something like this:
#!/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
export JAVA_HOME CATALINA_HOME CATALINA_BASE JAVA_OPTS LD_LIBRARY_PATH UMASK
$CATALINA_HOME/bin/startup.sh &
exit $?
.................
The variable UMASK does the work you are looking for.
Hope this helps