Проблема с правами доступа 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, все может стать немного сложнее.

Удачного кодирования :)

Связанный контент