Git/Jenkins 권한 문제

Git/Jenkins 권한 문제

운영 체제: 우분투 서버 10.04 LTS

권한에 이상한 문제가 있는데 그 원인을 알 수 없는 것 같습니다.

설정은 다음과 같습니다:

Git 저장소 폴더(및 그 안의 파일)는 루트가 소유하고 프로젝트에 사용하는 그룹에는 rws 권한이 있습니다. 예:

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

jenkins 사용자는 예제의 그룹을 포함하여 프로젝트를 위해 생성한 모든 그룹의 구성원입니다. jenkins 애플리케이션은 jenkins 사용자에 의해 시작되어 프로젝트 폴더에 대한 전체 액세스 권한을 갖습니다.

이 git 폴더에서 "other"에 대한 읽기 및 실행 권한을 제거하면 빌드가 실패하고 다음과 같이 표시됩니다.

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

추신: 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가 활성화되어 있으면 상황이 조금 더 까다로워질 수 있습니다.

즐거운 코딩하세요 :)

관련 정보