您的位置 首页 tomcat

tomcat 生成文件 权限 -403错误

Tomcat 8.5版本文件上传后无权限访问的问题 - 好学Ace - 博客园 (cnblogs.com)

Tomcat 8.5版本文件上传后无权限访问的问题

发现生成的日志文件也对用户没有读权限

程序: tomcat 负责上传文件, 然后把文件放在nginx 中。

现象就是 访问nginx 出现问题:

PS:tomcat通过root用户来启动。

在确定了nginx自身的没有配置问题之后,上linux服务器查看所传文件,发现其上传目录下代码自动创建的目录权限是750,所上传文件权限是640。

也就是说默认赋予的文件权限中其他用户的权限始终为0所导致。

默认权限与umask有关,因此怀疑是系统默认导致,但在查看系统默认配置(/etc/profile)后,发现默认配置没问题。

 

umask 002 对应文件权限664,文件夹权限775;

umask 022对应文件权限644,文件夹权限755。

可见都有读取访问权限的。

在默认情况下,tomcat所建目录及文件应该用到的是umask 022,但为何实际情况并非如此呢?

(按照结果看tomcat 8.5下上传文件的默认权限为umask 027

这是 tomcat-8.5.90

tomcat 9

tomcat-9.0.73

问题到这里,排除下来可能的原因并不多了,因为之前在其他机器上使用tomcat 7的时候是上传后访问没问题的,所以又拿tomcat 7在这台服务器上测试了一下,

以判断是不是tomcat 8.5自身的问题。结果发现,在同台服务器上tomcat 7上传后访问没问题。最终定位为题是在tomcat 8.5上。

tomcat 8.5catalina.sh中搜索 umask关键字(因为我始终有个直觉这和默认权限设置有关,结果证实这次的判断是准确的),很庆幸,

 

将其改为UMASK=”0022”并重启tomcat 8.5后,文件上传后访问恢复正常。

后期的 tomcat 8.5后的都有类似的问题。

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章