SSH 및 HTTPS를 통해 제공되는 공유 git repo의 경우 두 프로토콜 모두에 대한 액세스를 제어하는 방법은 무엇입니까?
문제
사용 중입니다 hooks/update
공유 저장소에서 특정 심판을 업데이트 할 수있는 사람을 제어합니다. 이것은 SSH에게는 훌륭하지만 최근 에이 후크가 WebDav 푸시에 영향을 미치지 않는다는 것을 발견했습니다 (적어도 GIT-1.6.4.2) 즉, 모든 사용자는 지점을 업데이트 할 수 있습니다.
예, 추가 할 수 있습니다 Require group ...
지시문 GIT 저장소를 공유하는 8 가지 방법 별도의 그룹 파일과 함께 병렬 인증 구성을 유지하지 않아도됩니다!
또 다른 대안은 다시 작성하는 것입니다 hooks/update
, 그러나 그것은 이미 SSH에서 작동하고 있다는 것을 감안할 때 폐기물 인 것 같습니다.
해결책
GIT (현재) HTTPS의 경우 "멍청한"프로토콜이라는 것을 이해해야합니다. 즉, 전체 교환은 실행 후크를 포함하여 서버에 GIT를 전혀 포함시키지 않고 간다. 관련된 웹 서버 (HTTPS 푸시 용 webdav 포함) 일뿐입니다.
그러나 다음과 같은 저장소 액세스 관리 도구를 살펴 봐야합니다. 기티술 (Python, Setuptools를 사용하여) 또는 신규 지 톨 라이트 (Perl, 더 간단한), 또는 레포 Google의 Android 프로젝트 또는 다른 것의 도구. 아마도 그들은 중앙 집중식 액세스 관리를 제공 할 것입니다.
제휴하지 않습니다 StackOverflow