Я хочу настроить репозиторий git на своем сервере, чтобы он был доступен с моего веб-сервера (чтение и запись с помощью redmine). Я хочу иметь возможность создать репозиторий с моим пользователем (toto) в SSH.
На данный момент я настроил следующее:
В настоящее время репозитории являются клоном github, но я хотел бы в будущем разместить свои собственные репозитории на сервере.
В этом контексте я планирую использовать правильный мерзавец пользователь и включить www-data пользователь в мерзавец группа.
Это кажется правильным?
Итак, я думаю, вы будете использовать свой git
пользователь для создания репозиториев вместо toto
?
Если вы выберете этот путь, вы можете столкнуться с проблемой, в зависимости от вашего маска. Попробуйте ввести эти команды:
git@host$ mkdir tata.git
git@host$ ls -ld tata
Если ваш umask
является 002
, это покажет это:
drwxrwxr-x 2 git git 4096 Nov 11 13:50 tata.git
И это нормально. Однако если ваш umask
является 022
- что имеет место в большинстве дистрибутивов, тогда вы получите следующее:
drwxr-xr-x 2 git git 4096 Nov 11 13:50 tata.git
Вы видите, что здесь члены группы git
иметь только r-x
разрешение на папку - вообще никаких разрешений на запись. Так что даже если вы сделаете www-data
часть группы git
, веб-сервер не будет иметь прав на запись в этот репозиторий.
Решение, как указано в приведенной выше ссылке, - установить umask
к 002
в соответствующем файле, который в большинстве случаев будет вашим /home/git/.profile, например:
umask 002