исправьте права доступа к файлам для пользователей trac и git для доступа к репозиториям сервера gitolite

исправьте права доступа к файлам для пользователей trac и git для доступа к репозиториям сервера gitolite

На моем сервере я размещаю несколько репозиториев git через gitolite и веду трассировку для каждого репозитория.

У меня есть пользователь git для отправки/загрузки данных с сервера ( git clone git@server:repo). А trac — это виртуальный хост Apache с mod_wsgi. Он работает с пользователем www-data.

Так вот, что меня озадачивает (возможно, потому, что я вообще не особо разбираюсь в правах доступа к файлам), так это то, как лучше всего настроить права доступа (chown, chmod) для репозиториев git ( /home/git/repositories/...).

www-data (или trac) нужны как минимум права на чтение (я думаю). А git (или gitolite) нужны права на чтение/запись для отправки наборов изменений.

Я попробовал немного поработать (например, добавив www-data и/или git в группу www-data/git), но у меня ничего не получилось. По крайней мере, один из двух вариантов не работает (git или trac).

любые предложения будут высоко оценены.

решение1

Я бы сказал, что наиболее безопасный способ сделать это — создать группу под названием git-readers.

добавьте в него git и www-data, затем получите следующую структуру папок:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git u=rwx,g=rwx,o=rx

Это позволит www-data войти в папку для чтения, но даст только пользователю git право записи. Любой другой пользователь не сможет ничего сделать.

Если вы хотите добавить дополнительных авторов, я бы добавил еще одну группу git-writers и добавил в нее пользователей и git, а также группу git-readers, а затем использовал бы следующую структуру:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git-writers u=rwx,g=rwxs,o=rx

Обратите внимание на «s» в правах доступа группы. Это заставляет пользователей-писателей использовать группу git-writers в качестве группы по умолчанию. Это будет работать правильно только в том случае, если все писатели имеют umask 0002.

решение2

Связанный контент