【问题标题】:Jenkins Permission Denied on shell executeJenkins Permission Denied on shell 执行
【发布时间】:2019-02-12 12:53:34
【问题描述】:

我正在尝试在 Jenkins 构建步骤中执行 shell。我在/home/ubuntu/.local/bin/aws 中有一个二进制可执行文件,它是从 Jenkins 可执行脚本调用的。

在构建输出日志中,它显示为/tmp/jenkins2312.sh: line 2: /home/ubuntu/.local/bin/aws: Permission denied

将 Jenkins 用户添加到根组没有帮助。

【问题讨论】:

  • 您能告诉我们更多细节吗?您的 sh 和二进制文件的权限是什么?谁是这些文件的所有者以及 Jenkins 是否允许访问它们。你能以 Jenkins 用户(而不是 Jenkins 软件)的身份执行 sh 文件吗?我不认为授予 Jenkins 的 root 访问权限是个好主意。

标签: jenkins ubuntu-16.04 aws-cli aws-ecr


【解决方案1】:

你的 aws 可执行文件应该在这个位置

/usr/local/bin/aws

那么应该按你的意愿工作,我不认为 .local

【讨论】:

    【解决方案2】:

    Ubuntu 中更改jenkins 的用户权限后需要停止并启动Jenkins。对我来说,重新启动 Jenkins 没有用,但 stop and start 可以。

    【讨论】:

      【解决方案3】:

      授予 aws 文件执行权限。

      chmod +x /home/ubuntu/.local/bin/aws

      【讨论】:

      • 我尝试使用 chmod 和 chown 命令更改权限。它不起作用。
      【解决方案4】:

      该文件对 jenkins 可执行吗?

      如果您在机器上,您可以将其设置为具有合适的可执行权限 (chmod 755 /home/ubuntu/.local/bin/aws)

      您应该只需要这样做一次。

      【讨论】:

      • 尝试以 Jenkins 用户身份访问文件,我收到权限被拒绝错误。我还将可执行文件 chown 给 Jenkins 使用/组。它没有帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2015-06-21
      • 2021-03-04
      相关资源
      最近更新 更多