Linux 可以允许jenkins访问只有root或某些特定程序才能访问的文件吗?

Linux 可以允许jenkins访问只有root或某些特定程序才能访问的文件吗?,linux,permissions,jenkins,continuous-integration,hudson,Linux,Permissions,Jenkins,Continuous Integration,Hudson,我基本上是想让jenkins访问我的android sdk linux文件夹和所有子目录。我的老板不想自己更改文件夹的权限。我应该在构建过程中这样做。我已经看到一些示例,它们在构建过程中在executeshell中运行一些命令。是否有一些命令可以在执行shell中运行,以便jenkins可以在我的android sdk linux文件夹上拥有读写和执行权限?一种可能性是使用sudo运行专门针对这些文件的命令。有很多方法可以管理sudo权限限制,并记录在这些文件上发生的操作。正如bcolfer所说

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

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

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

作为root用户,运行“visudo”,这将打开/etc/sudoers文件。如果不是当前sudoer,则在底部添加类似的行:

jenkins        ALL=(ALL)       NOPASSWD: ALL
“詹金斯”是启动奴隶的用户

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

usermod -a -G group Jenkins

“Jenkins”是启动从属服务器的用户,“group”作为实际组名。

我不想以root用户身份运行jenkins。我可以在启动构建过程之前通过execute shell更改此android sdk linux文件夹及其子目录的权限,然后在构建过程完成后将权限更改回默认值吗?是否可以将jenkins添加到一个组,并给予该组rwx权限?我怎么做?如果我可以将jenkins添加到具有rwx权限的组中,这将解决所有问题我是jenkins的新手,您能帮助我如何允许jenkins具有root权限吗?我不确定应该在executeshell中运行什么命令来让jenkins作为root用户运行。或者在executeshell中运行哪些命令,以便可以访问我的android sdk linux文件夹