2013-02-15 5 views
1

여러 명의 사용자가 변경 사항을 커밋 할 수있는 자식 서버 설정.힘내 - 쓰기 액세스 허용

많은 문서에서는 저장소에 대한 쓰기 권한을 부여하고 SSH를 사용하여 액세스 제어를 수행 할 것을 제안합니다. 예 : http://git-scm.com/book/ch4-2.html은 수백 명의 사용자에게조차 이것을 제안합니다. Gitosis는 SSH가 저장소에 대한 쓰기 액세스를 허용하는 동일한 접근법을 계속하는 것으로 보입니다.

그래서 제 질문은 :

사람 ssh server "rm -r /home/git/the_repository"을 중지 무엇입니까?

일반적인 설치에서는 공유 저장소에 대한 커밋 권한이있는 사용자가 파일 시스템 액세스 권한을 충분하게 사용하여 삭제할 수 있습니까?

답변

1

달성하려는 목표를 달성하기위한 현대적인 방법은 비교적 세분화 된 액세스 규칙을 정의 할 수있는 repo 관리자로 사용할 수있는 gitolite을 사용하는 것입니다.

gitolite는 ssh 키로 사용자를 식별하므로 사용자는 서버에 대한 셸 액세스가 없어도됩니다.

gitolite documentation 내 경험으로는 상당히 좋습니다.

0

사용자는 저장소 컴퓨터에 액세스 할 수 없습니다.

이런 식으로 액세스 제어를 수행하려는 경우 사용자의 실행 가능 명령을 git으로 제한해야합니다.

그러나 이것으로 인해 각 지회에 대해 빈 참조를 푸는 것과 같은 다른 불쾌한 일을하지 않게됩니다. 중앙 저장소를 사용할 사람을 신뢰하지 않으면 세분화 된 권한 시스템이 필요합니다.

이 목적으로 Gerrit을 권하고 싶습니다. 코드 리뷰를 위해 코드를 사용하지 않더라도 여전히 git에서 관리 및 권한 시스템을 제공합니다.

또 다른 옵션은 SSH 대신 HTTP를 사용하는 것입니다. HTTP 서버는 장난을 피하기 위해 설정할 수있는 추가 제한 사항을 제공합니다.

관련 문제