2012-10-21 58 views
2

我有一个本地仓库和远程仓库集。Git用户权限

我的每个托管软件包都有自己的用户和组(没有ssh访问),所以我有这样的权限问题。

我已经通过设置我的远程回购为SSH解决此工作:// @根...和createing后收到钩申请chown correctuser:correctgroup -R public_html/

这是因为你可以看到,我涉及“不理想根',而不应该是这样。

'git init --bare --shared'有帮助吗?

我希望能够以root身份进行远程推送,并且将'git'添加到我的所有组(包)也没有帮助。

请指教。

回答

2

你可以保持root及其chown你ssh访问,但限制SSH会话唯一的Git命令,与authorization layergitolite

--shared选项(man git init)是不完全适合当你有多个组:

--shared[=(false|true|umask|group|all|world|everybody|0xxx)] 

指定Git仓库,将之间多个用户共享。
允许属于同一组的用户推入该存储库
指定时,将设置配置变量“core.sharedRepository”,以便使用请求的权限创建$GIT_DIR下的文件和目录。
未指定时,git将使用由umask(2)报告的权限。

+0

嗯,这不会工作,因为我不想'限制'root权限。而且我是这台服务器上唯一的ssh用户,所以gitolite似乎有点过分了。 ;( – user1113177

+0

@ user1113177它可以为你生成一个专用于这些git命令的公钥/私钥,同时为root交互式shell会话保留缺省值,你可以使用几个公钥/私钥作为ssh,例如: http://stackoverflow.com/questions/12998273/w-access-for-gitolite-admin-denied-to-user/12998492#12998492 – VonC