Git с авторизацией ldap
Есть ли способ авторизации пользователя через ldap в репозитории git? Или сформулировано несколько иначе: есть ли способ отрицать, что люди тянут/толкают, если они не находятся в определенной группе ldap?
Изменить:
Да, отличная идея с использованием PAM и/или крючка. У кого-нибудь есть опыт использования git в сочетании с pam_ldap?
Ответы
Ответ 1
Должен работать:
-
Доступ к git repos через SSH с использованием стандартных входов (ничего необычного здесь).
-
Сделайте ваши репозитории git доступными для определенной группы, к которым принадлежат определенные логины.
-
Используйте pam-ldap, чтобы ваша стандартная система входа в систему работала с LDAP.
Если есть более конкретный способ, JUST проверяет ldap, не затрагивая остальную часть вашей системы? Я не знаю, но, возможно, это возможно с помощью крючка с предварительной фиксацией или что-то в этом роде.
Ответ 2
Вы можете использовать update
или pre-receive
hook сделать дополнительный контроль доступа; см. update-paranoid (в Perl) из contrib/hooks/
для примера (он не использует LDAP, но вы всегда можете изменить его на используйте его, используя DBI через DBD::LDAP, чтобы сохранить конфигурацию разрешений, или Authen::Simple::LDAP).
Возможно, возможно улучшить такие инструменты, как gitosis (в Python) или gitolite, которые используются для доступа к репозиториям git через SSH, не требуя установки (возможно, ограниченной) отдельной учетной записи оболочки для каждого пользователя, для использования LDAP для аутентификации.
Ответ 3
Прямое решение, которое я испытал, следующее:
Et voilà!
Ответ 4
Возможно, вам захочется заглянуть в Gitorious с помощью плагина Craig Andrews LDAP.
Gitorious - это хорошо зарекомендовавшее себя решение с открытым исходным кодом для корпоративных сред, обеспечивающее доступ к хранилищам в Интернете и SSH.
Добавления Craig к базе кода делают LDAP источником авторизации и аутентификации.
https://gitorious.org
https://gitorious.org/gitorious/mainline/merge_requests/138 < - merge в поддержке LDAP
Надеюсь, что код скоро будет объединен с главной линией Gitorious, поэтому мы не будем сами ее исправлять.
Ответ 5
Возможное решение - использовать git над smart-http. Если вы используете этот протокол, вы можете настроить сервера Apache для аутентификации через LDAP, а затем введите git передача данных по http.