Tuesday, January 25, 2011

How to set default umask for Tomcat webdav servlet?

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.

    calavera.info : I have found out that the umask is actually set in the init.d script (that's why setting it in /etc/profile didn't help). So I simply changed that line in /etc/init.d/tomcat6 script and it worked.
    troyengel : Yah - the issue is that there's no standard for Tomcat/JBoss SysV startup, everyone rolls their own. Glad you found out for your situation and did the right thing.
    From troyengel

0 comments:

Post a Comment