자식 리포지토리에 대한 인증 방법으로 LDAP 사용


15

버전 관리에 git을 사용해야한다고 상사에게 설득하고 싶습니다. 그는 중앙 LDAP 서버를 통해 사용자를 반드시 인증해야한다고 말합니다.

다양한 솔루션 (gitweb, gitorious ...)을 살펴보고 LDAP 인증을 지원하는지 여부에 대한 확실한 대답을 찾지 못했습니다.

약간의 정보를 찾을 수있는 유일한 솔루션은 Apache + mod_ldap 설정이었습니다. 그러나 이것은 LDAP에서 인증하는 사용자가 실제 자식 사용자와 반드시 같을 필요는 없다는 것을 의미합니다. (이것은 큰 문제가 아니라 나를 괴롭힐만한 것입니다.)

그렇다면 LDAP를 통해 자식 사용자를 인증하는 가장 좋은 방법은 무엇입니까?


1
http auth에 대한 추가 정보를 추가했습니다.
reconbot

답변:


8

키는 대부분의 공개 git 서비스에 사용되지만 실제 인증은 ssh를 통해 이루어집니다. 그러면 SSH는 ldap에 대해 인증 할 수 있습니다. git에 관한 한 파일에 액세스 할 수 있다면 마을에 갈 수 있습니다.

최신 정보

Git은 이제 스마트 http 푸시 메커니즘을 지원합니다 (올해 현재 누가 알았습니까?). 오래된 방법은 webdav 서버를 사용하는 것이었지만 가져 오기 및 푸시 작업이 매우 느리고 비효율적이었습니다. 이제 ssh : // 또는 git : //와 마찬가지로 http보다 거의 동일한 속도를 얻을 수 있습니다. 즉, 아파치 또는 nginx를 사용하고 원하는 http 인증 체계를 사용할 수 있습니다. (랩, 데이터베이스 등)

pro git 및 github의 추가 정보 .


1
SSH가 인증에 PAM을 사용하도록 구성된 경우 문제없이 LDAP 서버에 대해 인증 할 수 있습니다. 주목할만한 예외는 Gitosis이며, 키로 강제 명령 마법을 수행합니다.
voretaq7

아아, ssh는 병합 가 LDAP에서 공개 키 를 얻는 패치 없이는 사용할 수 없습니다 . pam-ldap을 사용하여 LDAP를 통해 비밀번호 인증을 수행하지만 공개 키를 얻기 위해 LDAP를 직접 쿼리 할 수는 없습니다. 매우 실망 스럽습니다.
Craig Ringer

ldap에서 파일 시스템까지 매일 키를로드하는 방법과 결합하여 키를 업데이트 할 수 있지만 키를 업데이트하면 트릭을 수행 할 수 있습니다.
reconbot

2

수신 전 git hooks 스크립트를 사용하여 git backend 인증을 찾고 개발할 수 있습니다. 반드시 쉘 스크립트 일 필요는 없습니다.

예를 들어, 당신이 비방적인 'pre-receive hook' 을 살펴보면 , 루비 스크립트를 사용하여 해당 상황에서 원격 저장소로 푸시하려고하는 사람을 인증하는 방법을 보게 될 것입니다. 원하는 시간을 보내고 싶다면 좋아하는 언어와 ldap 라이브러리를 사용하여 동일한 작업을 수행 할 수 있습니다 :-)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.