Tomcat启动应用 文件上传的后其他人没有读权限
前几天用SringBoot写完项目后,用外部的tomcat部署到Linux服务器上。前端使用接口上传完图片后,却发现返回给前端的url不能访问。我查看了服务器里的文件夹,确实文件是上传上去了,url也没错,但是为什么不能访问了。之后仔细一看,发现上传的文件其他人没有读的权限(Linux777权限)。
然后我手动更改了图片的权限,让其他人可读,然后再次去访问url,图片就出来了。
但是问题没有解决,上传的图片其他人没有读的权限。于是去百度,发现Linux是有默认文件权限的,就是你创建一个文件他的默认权限是啥。文件默认权限。
Linux默认的文件权限umask为0022是满足我们的要求的。但实际上上传上去的文件的权限比默认权限要低。
这时我又查到tomcat是有他自己的umask的,我们上传的文件是按tomcat的umask的权限来创建。
所以解决办法:修改tomcat的配置即可。
1、使用xftp下载,tomcat安装目录下bin文件夹下的catalina.sh文件。
2、然后用sublime编辑,找到关于umask属性的值,改为0022。
3、使用xftp上传修改后的文件以覆盖原文件。
4、重启tomcat即可。
熟悉Linux操作的,可以直接在Linux上编辑修改,保存后重启tomcat效果是一样的。