【问题标题】:Is it possible to allow jenkins to access the files that only root or some specific programs have access to?是否可以让 jenkins 访问只有 root 或某些特定程序才能访问的文件?
【发布时间】:2013-06-10 09:53:26
【问题描述】:

我基本上想做的是允许 jenkins 访问我的 android-sdk-linux 文件夹和所有子目录。我的老板不想自己更改文件夹的权限。我应该在构建过程中这样做。我已经看到了一些在构建过程中在执行 shell 中运行一些命令的示例。是否可以在该执行 shell 中运行一些命令,以便 jenkins 可以对我的 android-sdk-linux 文件夹具有读写和执行权限?

【问题讨论】:

  • 我不想以 root 用户身份运行 jenkins
  • 我可以在开始构建过程之前通过执行shell更改此android-sdk-linux文件夹及其子目录的权限,然后在构建过程完成后将权限更改回默认值吗?
  • 不可以将 Jenkins 添加到一个组并给该组 rwx 权限吗?
  • 我该怎么做?如果我可以将 jenkins 添加到具有 rwx 权限的组中,那将解决所有问题

标签: linux permissions jenkins continuous-integration hudson


【解决方案1】:

正如 bcolfer 所说,您应该能够运行带有“sudo”的 shell 命令。您需要确保启动 Jenkins slave 的用户是 sudoer。

以 root 身份运行“visudo”,这将打开 /etc/sudoers 文件。如果不是当前的 sudoer,则在底部添加与此类似的行:

jenkins        ALL=(ALL)       NOPASSWD: ALL

“Jenkins”是启动奴隶的用户。

您可以尝试将用户添加到拥有该目录的组中。如果您运行“ls -l”,您应该能够看到权限,然后是用户,以及拥有该目录的组。一旦你知道该组,作为 root 运行:

usermod -a -G group Jenkins

“Jenkins”是启动slave的用户,“group”是实际的组名。

【讨论】:

    【解决方案2】:

    一种可能性是使用 sudo 运行专门针对这些文件的命令。有很多方法可以管理 sudo 权限限制并记录对这些文件执行的操作。

    【讨论】:

    • 我是 jenkins 新手,您能帮我如何让 jenkins 拥有 root 权限吗?我不确定我应该在执行 shell 中运行哪些命令以使 jenkins 以 root 身份运行。或者在执行 shell 中运行什么命令,以便可以访问我的 android-sdk-linux 文件夹
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-11
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2015-01-06
    相关资源
    最近更新 更多