在Webapp中删除文件时拒绝Tomcat 8.5.42权限

时间:2019-07-02 15:49:17

标签: java tomcat permissions debian user-permissions

我目前正在Debian 8.5上从Jdk7 / Tomcat7迁移到JDK8 / Tomcat8.5.42。安装我的应用程序的新版本时,我使用bash脚本,该脚本使用tomcat用户进行安装,该脚本会阻塞tomcat,删除旧的app.war及其展开的app文件夹。使用Tomcat 7,在这些操作过程中没有任何权限问题,但是在删除app文件夹时使用新版本时,出现rm: cannot remove ... Permission denied错误。

这是../webapps/

4.0K drwxrwxr-x  3 tomcat tomcat 4.0K Jul  2 16:48 .
4.0K drwxrwxr-x 12 tomcat tomcat 4.0K Jul  2 16:48 ..
4.0K drwxr-x---  7 tomcat tomcat 4.0K Jul  2 15:37 app

我不知道这是否重要,但是启动脚本的用户属于tomcat组。还要注意,app文件夹是由Tomcat创建的,因为它是app.war的结果。

如何配置Tomcat为属于tomcat组的所有用户赋予正确的权限,以便他们可以删除webapps内容。另外,我没有root访问权限,因此我想提供一种解决方案。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用umask 007(而不是027)来启动tomcat。

有关umask的进一步阅读,请参见https://en.wikipedia.org/wiki/Umask

在这里找到了提示:https://grokbase.com/t/tomcat/users/035wyqr5rd/file-permissions-in-war-files

您有多个选项可以为用户设置umask:How to set umask for a system-user?