知方号

知方号

解决Java程序在Linux系统中创建文件或者文件夹后权限不足的问题

解决Java程序在Linux系统中创建文件或者文件夹后权限不足的问题

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。