Tomcat 需要 8 以及以上

我在Java程序里面有很多生成文件的功能,比如用户上传文件、将数据生成xml文本等。我发现生成的文件权限全是:-rw-r—,而文件的拥有者是 root,这样就只有root用户组的才有读取权限。

Linux系统为了安全考虑,默认创建文件的最高权限为666,而创建文件夹的最高权限为777,系统通过变量umask来控制创建文件的权限问题。

我们假设设置 umask 的值为 025 时,则创建的文件权限为 641,即权限是通过最高权限减去 umask 的值来控制的。

我们可以通过修改 tomcat 的 catalina.sh 配置文件来设置 umask 的值。

tomcat的umask的默认设置是:

if [ -z "$UMASK" ]; then
    UMASK="0027"
fi
umask $UMASK

把0027修改成0000,那么生成的文件和文件夹就是默认权限了:

if [ -z "$UMASK" ]; then
    UMASK="0000"
fi
umask $UMASK

技 术 无 他, 唯 有 熟 尔。
知 其 然, 也 知 其 所 以 然。
踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。


Logo

更多推荐