You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins拷贝WAR包至Tomcat webapps目录时遇权限拒绝问题

解决Jenkins拷贝WAR包到Tomcat webapps权限拒绝问题

问题原因

Jenkins默认以jenkins系统用户运行,而/root目录是root用户的专属目录,普通用户无访问、写入权限,因此执行拷贝命令时触发权限拒绝错误。

解决方案

方案1:调整Tomcat目录权限

  • 查看目标目录权限:
    ls -ld /root/apache-tomcat-10.0.27/webapps
    
  • 将jenkins用户加入root组(扩大权限范围):
    usermod -aG root jenkins
    
  • 修改webapps目录权限,允许root组读写:
    chmod -R g+rw /root/apache-tomcat-10.0.27/webapps
    
  • 若需要完全移交目录所有权,执行:
    chown -R jenkins:jenkins /root/apache-tomcat-10.0.27/webapps
    
  • 重启Jenkins服务使权限生效:
    systemctl restart jenkins
    

方案2:迁移Tomcat到非root目录

将Tomcat安装到普通用户可访问的公共目录(如/opt),避免权限限制:

  • 移动Tomcat目录:
    mv /root/apache-tomcat-10.0.27 /opt/
    
  • 修改目录所有权为jenkins用户:
    chown -R jenkins:jenkins /opt/apache-tomcat-10.0.27
    
  • 更新Jenkins任务中的Shell命令路径:
    cp /target/gamutgurus.war /opt/apache-tomcat-10.0.27/webapps
    

方案3:用sudo执行拷贝命令

给jenkins用户配置免密sudo权限,允许其执行cp命令:

  • 编辑sudoers文件(使用visudo避免语法错误):
    visudo
    
  • 在文件末尾添加一行:
    jenkins ALL=(ALL) NOPASSWD: /bin/cp
    
  • 修改Jenkins任务中的拷贝命令:
    sudo cp /target/gamutgurus.war /root/apache-tomcat-10.0.27/webapps
    

内容的提问来源于stack exchange,提问作者Bharath kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:50:28