2009-10-15 54 views
15

Có cách nào để cho phép người dùng qua ldap trên kho lưu trữ git không? Hoặc hơi khác một chút: Có cách nào để từ chối mọi người kéo/đẩy nếu họ không thuộc nhóm ldap cụ thể không?Git với ủy quyền ldap

Chỉnh sửa: Có, ý tưởng tuyệt vời khi sử dụng PAM và/hoặc móc. Có ai có kinh nghiệm sử dụng git kết hợp với pam_ldap?

Trả lời

5

Nên hoạt động:

  • Repos Truy cập git thông qua SSH sử dụng thông tin đăng nhập chuẩn (không có gì bất thường ở đây).

  • Làm cho repo git của bạn có quyền truy cập cho một nhóm nhất định, đăng nhập cụ thể nào có thành viên.

  • Sử dụng pam-ldap để làm cho hệ thống đăng nhập chuẩn của bạn hoạt động với LDAP.

Nếu có cách cụ thể hơn, JUST sẽ kiểm tra ldap mà không ảnh hưởng đến phần còn lại của hệ thống của bạn? Tôi không biết, nhưng nó có thể có thể với một cái móc trước khi cam kết, hoặc một cái gì đó như thế.

+1

móc trước cam kết chạy phía máy khách –

3

Bạn có thể sử dụng update hoặc pre-receivehook để làm bổ sung kiểm soát truy cập; xem update-paranoid (trong Perl) từ contrib/hooks/ ví dụ (nó không sử dụng LDAP, nhưng bạn luôn có thể sửa đổi nó để sử dụng nó, ví dụ như DBI qua DBD::LDAP để lưu cấu hình quyền hoặc trực tiếp Authen::Simple::LDAP). Có thể tăng cường các công cụ như gitosis (bằng Python) hoặc gitolite, được sử dụng để truy cập kho git qua SSH mà không cần thiết lập tài khoản shell riêng biệt (có thể giới hạn) cho mỗi người dùng, để sử dụng LDAP cho xác thực.

1

Bạn có thể muốn xem xét Gitorious bằng plugin Craig Andrews LDAP.

Gitorious là một giải pháp (mã nguồn mở) được kính trọng đối với môi trường doanh nghiệp cung cấp quyền truy cập web và SSH vào kho lưu trữ.

Bổ sung của Craig vào cơ sở mã giúp LDAP là nguồn cấp quyền và xác thực.

https://gitorious.org

https://gitorious.org/gitorious/mainline/merge_requests/138 < - hợp nhất trong việc hỗ trợ LDAP

Hy vọng rằng mã sẽ được sáp nhập vào Mainline của Gitorious sớm vì vậy chúng tôi sẽ không phải vá nó mình.

2

Giải pháp đơn giản tôi đã có kinh nghiệm như sau:

  1. Cài đặt CentrifyDC Express cung cấp cho bạn PAM-ldap;
  2. Truy cập GIT repositories via SSH của bạn.

Et voilà!

+1

Hoặc ** ngoài ra **, bạn có thể thiết lập [PAM dựa trên HTTP/S] (http://icephoenix.us/linuxunix/apache-and-http-authentication -with-pam /) truy cập vào [GIT repos] của bạn (http://git-scm.com/book/en/Git-on-the-Server-The-Protocols#The-HTTP/S-Protocol). – rdarrudas

Các vấn đề liên quan