Git用户权限
我有一个本地repo和远程裸存储库集 我的每个托管包都有自己的用户和组(没有ssh访问权限),因此我有很多权限问题 我通过将远程回购设置为ssh://root@... 并创建post接收挂钩以应用Git用户权限,git,permissions,ssh,repository,Git,Permissions,Ssh,Repository,我有一个本地repo和远程裸存储库集 我的每个托管包都有自己的用户和组(没有ssh访问权限),因此我有很多权限问题 我通过将远程回购设置为ssh://root@... 并创建post接收挂钩以应用chown correctuser:correctgroup-R public\u html/ 正如你所看到的,这并不理想,因为我涉及“根”,不应该是这样 “git init--bare--shared”有什么帮助吗 我希望能够以root用户身份远程推送,而将“git”添加到我的所有组(包)中也没有任何
chown correctuser:correctgroup-R public\u html/
正如你所看到的,这并不理想,因为我涉及“根”,不应该是这样
“git init--bare--shared
”有什么帮助吗
我希望能够以root用户身份远程推送,而将“git”添加到我的所有组(包)中也没有任何帮助
请告知。您可以保留
root
及其chown
用于ssh访问,但将ssh会话限制为仅使用git命令,使用类似的
--shared
选项()在您有多个组时并不完全合适:
--shared[=(false|true|umask|group|all|world|everybody|0xxx)]
指定git存储库将在多个用户之间共享。此允许属于同一组的用户推送到该存储库中
指定后,将设置配置变量“
core.sharedepository
”,以便使用请求的权限创建$GIT\u DIR
下的文件和目录。未指定时,git将使用umask(2)报告的权限 这对我很有用:
基本上,您可以设置SUID和SGID位。Hmm,这不太有效,因为我不想“限制”根权限。我是这个服务器上唯一的ssh用户,所以gitolite似乎有点做过头了;(@user1113177您可以为这些git命令生成专用的公钥/私钥,同时保留根交互式shell会话的默认密钥。您可以为ssh使用多个公钥/私钥,如中所示: