Я створюю сервер Git на Ubuntu 14.04 LTS. Мені потрібен сервер для підтримки протоколів SSH і HTTP.
Поки я виконував інструкції в Книга Git щоб мій сервер підтримував протокол SSH.
Для підтримки протоколу HTTP, я підключаю відштовхування на мій існуючий веб-сервер. Оскільки веб-сервер працює як інший користувач, він не зможе записувати до основних сховищ, які належать користувачеві "git". Тому я додав користувача веб-сервера до групи "git" і зробив chmod -R g+w /home/git
і отримав протокол HTTP для роботи. Однак, роблячи це, я ненавмисно зламав SSH-доступ до репозиторіїв, оскільки OpenSSH не дозволяє домашньому каталозі користувача записувати групу.
Є дві речі, про які я думав, щоб вирішити цю проблему.
- Змініть глобальні параметри конфігурації SSH, встановивши власний
AuthorizedKeysFile
або місцем розташуванняStrictModes no
. Я не хочу робити жодного з цих речей, оскільки зміни впливають на інших SSH-користувачів, які не використовують Git. - Видаліть привілеї запису групи з домашнього каталогу користувача git, а потім напишіть скрипт, який вручну додає привілеї запису групи до нових сховищ. Це, ймовірно, буде працювати, але це просто не здається дуже елегантним рішенням.
Будь-які пропозиції щодо того, як структурувати свою файлову систему, щоб дозволити доступ до сховищ git для запису груп, і в той же час підтримувати SSH-доступ?