我目前正在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
访问权限,因此我想提供一种解决方案。
感谢您的帮助。
答案 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?