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"fiumask $UMASK把0027修改成0000,那么生成的文件和文件夹就是默认权限了:
if [ -z "$UMASK" ]; then UMASK="0000"fiumask $UMASK技 术 无 他, 唯 有 熟 尔。 知 其 然, 也 知 其 所 以 然。 踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。