Git/Jenkins权限问题

Git/Jenkins权限问题

操作系统:Ubuntu服务器10.04 LTS

我在权限方面遇到了一个奇怪的问题,并且似乎无法找出导致该问题的原因。

设置如下:

Git 存储库文件夹(以及其中的文件)由 root 拥有,我们用于项目的组具有 rws 权限,例如:

   ll /path/to/project
   drwxrwsr-x 7 root project                4096 2013-03-14 19:19 project

我们的 jenkins 用户是我们为项目创建的所有组的成员,包括示例中的组。 jenkins 应用程序由 jenkins 用户启动,以确保它具有对项目文件夹的完全访问权限。

如果我删除这些 git 文件夹上“其他”的读取和执行权限,我们的构建就会失败,并指出:

 fatal: '/path/to/project' does not appear to be a git repository

ps:没有 SELinux 运行

答案1

我猜这是您对存储库中子目录的权限。

# Set the same ownerships for every file and directory within the repository
sudo chown -R root:project /path/to/project

# Remove permissions for others on all files
sudo chmod o-rwx $(find /path/to/project -not -type d)

如果您希望组成员写回更改:

# Set permissions for all subdirectories
sudo chmod 2770 $(find /path/to/project -type d)

如果您希望群组成员具有只读访问权限:

# Remove write permissions for group members for every file
sudo chmod g-w $(find /path/to/project -not -type d)

# Set permissions for all subdirectories
sudo chmod 2750 $(find /path/to/project -type d)

现在,只要 jenkins 用户是项目组的成员,他就应该能够毫无问题地克隆 git 存储库。

然而,如果您的系统启用了 SELinux,事情可能会变得有点棘手。

快乐编码:)

相关内容