В моей компании есть куча репозиториев git в папке, доступ к которой осуществляется через наш домен Active Directory. До сих пор доступ к папке осуществлялся через smb с использованием аутентификации Kerberos, и все наши клиенты настроены с URL-адресами file://.
Это явно очень плохо. Я пытаюсь настроить нас с помощью правильного git-сервера либо через http, либо через ssh, но наш сетевой администратор очень ясно понимает, что любое решение, которое мы используем, должно поддерживать разрешения на основе группы активных каталогов (предпочтительно поддерживать разрешения на уровне файлов) , и что компания не желает платить за решение. К сожалению, эти требования немного связывают мне руки и не позволяют использовать проверенный и надежный пакет nginx git.
Я провел кое-какие исследования, но мне действительно трудно собрать все воедино. Кто-нибудь знает (или может указать мне правильное направление) решение, которое выполняет:
[Редактировать: добавлено забытое требование относительно ОС]
[Редактировать год спустя]
Я оставляю этот вопрос здесь, потому что он получил несколько голосов, поэтому, очевидно, есть и другие люди, у которых были подобные потребности. Любые и все ответы, которые частично соответствуют этому списку, могут быть полезны будущим читателям. Мои собственные проблемы были решены благодаря тому, что мы наняли нового системного администратора, который не боится Linux, что дало мне возможность использовать гораздо больше возможностей.
[/Редактировать]
Я рекомендую RhodeCode Enterprise ( https://rhodecode.com ), который выполняет все требования к разрешению папки, кроме требований. RhodeCode Enterprise 3 бесплатен для 10 пользователей и EDU и дополнительно поддерживает Mercurial и SVN.
Отказ от ответственности: я соучредитель RhodeCode.
Во-первых, ваш системный администратор должен понимать, что центральное репо похоже на базу данных, поэтому права собственности на файлы не имеют значения. AD следует использовать только для аутентификации для доступа к данным, на самом деле лучше всего, чтобы данные управлялись демоном, который имеет единственный доступ к безголовому репо в этом центральном месте. Так это делается во всех системах, таких как gitlab, github, stash и т. д. На самом деле, вы можете установить stash или gitlab (с длинным списком преимуществ, помимо безопасности) и разрешить пользователям проходить аутентификацию в AD либо через LDAP. шлюз или напрямую. Atlassian Stash и Gitlab являются бесплатными вариантами (я думаю), есть также GitHub Enterprise и другие, а также несколько вариантов FOSS (хотя я не знаю об их вариантах интеграции с AD).
Алехандро
jpmc26
иваниван