Я устанавливаю Git-сервер в Ubuntu 14.04 LTS. Мне нужен сервер для поддержки протоколов SSH и HTTP.

До сих пор я следовал инструкциям в Git Book, чтобы заставить мой сервер поддерживать протокол SSH.

Для поддержки протокола HTTP, я зацепив Pushover в мой существующий веб - сервер. Поскольку веб-сервер работает от имени другого пользователя, он не сможет писать в основные репозитории, которые принадлежат пользователю "git". Поэтому я добавил пользователя своего веб-сервера в группу "git", выполнил команду chmod -R g+w /home/git и заставил работать протокол HTTP. Однако, делая это, я случайно нарушил SSH-доступ к репозиториям, поскольку OpenSSH не позволяет домашнему каталогу пользователя быть доступным для записи в группе.

Есть пара вещей, о которых я подумал, чтобы решить эту проблему.

  1. Измените глобальные параметры конфигурации SSH, либо установив пользовательское расположение AuthorizedKeysFile либо установив StrictModes no . Я не хочу делать ни одну из этих вещей, потому что изменения влияют на других моих не-git пользователей SSH.
  2. Удалите привилегии записи группы из домашнего каталога пользователя git, а затем напишите сценарий, который вручную добавляет привилегии записи группы в новые репозитории. Это, вероятно, сработает, но это не выглядит как очень элегантное решение.

Любые предложения о том, как структурировать мою файловую систему так, чтобы она позволяла создавать git-репозитории с возможностью записи в группы и в то же время поддерживать SSH-доступ?

0