正确的文件权限为trac和git用户访问gitolite服务器回购

在我的服务器上,我通过gitolite托pipe了一些git仓库,并为每个仓库configuration了一个trac

我有一个名为git的用户从服务器上推/拉( git clone git@server:repo )。 trac是一个mod_wsgi的apache虚拟主机。 这与www数据用户一起运行。

那么什么谜语(也许是因为我没有太多关于文件权限的线索)什么是git仓库( /home/git/repositories/ …)的最佳权限设置(chown,chmod)。

万维网(或trac)需要至less读取权限(我认为)。 和git(或gitolite)显然需要读取/写入权限来推送更改集。

我试了一下(即添加万维网数据和/或git到万维网数据/ git组),但没有得到它的权利。 至less有一个不工作(混帐或trac)。

任何build议,高度赞赏。

做这件事最安全的方法就是build立一个名为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数据进入文件夹阅读,但只给git用户写入权限。 任何其他用户都无法做任何事情。

如果你想添加额外的作家,我会添加另一个组的git-writer,并添加用户和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-writer组作为他们的默认组。 如果作者全部是umask 0002,这将只能正常工作。

在gitolite的情况下提交git(gitolite)库提交文件权限(没有更多的trac访问)