linux tomcat 创建文件没有权限,tomcat创建的文件权限和linux umask、acl

在CentOS7环境下,当Tomcat创建的文件和目录在其他应用(如FTP、Nginx)需要读取时,可能会遇到权限问题。文章介绍了三种解决方案:1) 通过代码设定文件权限,但操作繁琐;2) 修改Tomcat启动脚本`catalina.sh`中的`UMASK`变量;3) 使用ACL(Access Control List)设置精细的权限控制。最后讨论了umask与ACL的区别,并指出ACL的复杂性和广泛应用。
摘要由CSDN通过智能技术生成

aa62bc205c4df4f6518ebf4abd3f2045.png

原文环境: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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值