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

Jenkins pipeline执行shell脚本提示Permission denied报错如何解决

核心原因

Jenkins服务默认以jenkins系统用户运行,访问/home/admin/test/1.sh路径时需要对路径上每一级父目录都具备遍历(执行)权限,同时对脚本本身具备读+执行权限,你的配置存在权限缺失:

  • 仅给了/home/admin/test目录777权限,未给/home/admin目录开放jenkins用户的遍历权限,默认/home/admin目录权限为700,其他用户无访问权限
  • 仅给脚本加了执行权限,未确认jenkins用户是否对脚本具备读权限

解决方案

  • 修复目录层级权限:给/home/admin目录开放其他用户的遍历权限,执行命令:
    chmod o+x /home/admin
    如果不想给所有用户开放该权限,可以使用ACL单独给jenkins用户赋权:
    setfacl -m u:jenkins:x /home/admin
  • 修复脚本本身权限:确保jenkins用户对脚本有读+执行权限:
    chmod o+rx /home/admin/test/1.sh
  • 排查SELinux拦截:如果上述操作后仍报错,执行sestatus查看SELinux是否为Enforcing模式,可临时执行setenforce 0关闭SELinux测试,验证是SELinux问题后可给脚本添加对应上下文规则,生产环境不建议直接永久关闭SELinux。
  • 备选方案:不想修改/home/admin目录权限的话,可以把脚本移动到Jenkins用户默认有权限的目录,例如/var/lib/jenkins/scripts/,修改pipeline中脚本路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:54:03