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

Jenkins中cd、cat命令无法执行,赋权后仍报错求解决方案

Started by user Amrit Subedi
Running as SYSTEM
Building in workspace /var/lib/jenkins/workspace/todolist-app
[todolist-app] $ /bin/sh -xe /tmp/jenkins4194062835107740167.sh

  • cd /home/amrit/Jenkins/docker
    /tmp/jenkins4194062835107740167.sh: 2: cd: can't cd to /home/amrit/Jenkins/docker
    Build step 'Execute shell' marked build as failure
    Finished: FAILURE
Jenkins执行cd命令失败:无法切换到目标目录的解决方案

针对你遇到的问题,以下是可行的解决方案:

1. 验证目录路径有效性

  • 在Jenkins服务器执行ls -ld /home/amrit/Jenkins/docker,确认目录真实存在。注意Linux路径区分大小写,检查是否有拼写错误(比如字母大小写、空格、符号偏差)。

2. 修复目录及父目录的访问权限

仅给目标目录加全权限不够,SYSTEM用户需要逐层进入父目录,必须保证所有父目录拥有其他用户的执行权限(x):

  • 执行命令修复父目录权限:
    chmod o+x /home/amrit /home/amrit/Jenkins
    
  • 验证权限是否生效:
    su -s /bin/sh jenkins -c "cd /home/amrit/Jenkins/docker && echo Success"
    
    若输出Success,说明权限问题已解决。

3. 绕过cd操作,直接使用绝对路径

无需切换目录,直接在命令中指定目标文件/脚本的绝对路径:

  • 查看文件内容:cat /home/amrit/Jenkins/docker/your-file.txt
  • 执行脚本:/home/amrit/Jenkins/docker/run-script.sh

4. 切换Jenkins任务的执行用户

修改任务配置,让脚本以amrit用户身份执行:

  • 进入任务配置页,找到「构建环境」区域,勾选「以特定用户身份执行」
  • 选择amrit用户(需确保该用户已在Jenkins中配置且拥有对应权限)

5. 检查Jenkins安全策略限制

若Jenkins启用了安全脚本插件或自定义权限规则,可能限制了SYSTEM用户访问特定目录:

  • 进入Jenkins全局配置,检查「安全脚本」相关设置,确保允许访问/home/amrit/Jenkins/docker路径

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 06:50:19