上传图片以后总是查看不到
前端应用反馈,上传完图片以后提示没有权限查看。
理论上有写权限读为什么读不到呢?
经检查,上传图片权限为640,修改为755以后用户反馈能正常查看。
排查:
1,第一反应是umask配置问题,通过umask -S,结果为u=rwx,g=rx,o=rx,是755权限
2,再检查没有定时任务对文件进行权限修改
3,检查tomcat的catalina.sh发现umask配置为0027,也就是上传完图片以后文件被修改为640了。
4,还有一个比较隐蔽的地方,rsync只要目标与源属性不一致,也会同步跟源一致,也就是改了归属
解决
把tomcat的catalina.sh umask修改为022以后,重启应用,问题解决。
发散问题:
为什么文件归属tomcat,640权限还不能访问呢?图片是挂在共享目录?nginx直接本地访问,也就是other访问?那么为什么写入时归属为tomcat?