Назад | Перейти на главную страницу

Политика пользователя с git и apache

Я хочу настроить репозиторий 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