原文环境:CentOS7
需求:tomcat里web应用创建的文件,放于指定目录下、提供给其他应用读取(比如ftp、nginx)。
问题:丢到tomcat里的web应用,创建出来的文件或文件夹others没有读权限,比如:
drwxr-x--- 2 tomcat tomcat 4096 Jun 16 17:57 temp
-rw-r----- 1 tomcat tomcat 0 Jun 16 17:57 tempfile12
解决方法一:
直接在web应用创建文件/文件夹时、通过代码设定权限,比如Java里这个stackoverflow答案提到的Files#setPosixFilePermissions方法。
但是缺点也很明显:一个一个改太麻烦了。
解决方法二:
见识少、google了很久才知道根本原因是tomcat启动脚本catalina.sh里的这一段:
# UMASK (Optional) Override Tomcat's default UMASK of 0027
# Set UMASK unless it has been overridden
if [ -z "$UMASK" ]; then
UMASK="0027"
fi
umask $UMASK123456
原来是当初看tlc