示例图

Centos7.9 tomcat8.5 宝塔环境

搭建tomcat项目时,发现文件写入报错

java.io.IOException: 权限不够
	at java.io.UnixFileSystem.createFileExclusively(Native Method)
	at java.io.File.createNewFile(File.java:1012)

网上搜索都说需要修改catalina.sh中的UMASK=“0027"改为“0022”

0022是ROOT权限,0027是普通用户权限

最根本的原因是什么呢?

项目是通过root帐号登陆解压部署的,整个项目的文件所有权限是root;

但是tomcat执行的权限是www用户,www不能写入root的文件夹;

将项目文件夹 所有者变更为www,权限750;搞定一切。