linux – 通过SSH访问远程Git存储库时使用su / sudo

假设Linux服务器上有一个远程Git存储库R. R由用户U拥有,对于该用户U,根本不允许通过SSH进行远程登录(例如,根).基于密码和基于密钥的身份验证均不适用于该用户.但是,允许的是以不同的用户身份登录,然后使用su或sudo以U发出命令.

是否可以将这两种方法结合起来,以便Git在远程服务器上使用su或sudo来访问存储库?

或者,是否有另一种方法来访问R而不更改其访问权限或启用U的SSH登录?

P.S.:我不介意手动输入密码,例如在su提示下,只要Git处理剩下的事情.

编辑:

从评论中可以看出,我需要澄清我想要做这样的事情的理由. R跟踪的文件是有问题的服务器正在使用的系统文件 – R不是裸存储库.这意味着无法真正移动存储库,而不是没有大量的诡计.

让Git使用sudo将允许使用保护这些文件的相同安全模型来访问R,而不是通过必须单独配置和同步的单独途径.

更容易建立另一个监听器而不是sshd dameon:设置一个Apache,其中:

>可以以root身份运行
>可以将git查询重定向到git-http-backend脚本,这允许通过http的git命令(称为smart http,documented here)

这样,你不必担心sudo和su.

如果需要,您可以将其与身份验证步骤结合使用.

<Location /git>
  AuthType Basic
  AuthName "Private Git Access"
  AuthUserFile "/etc/git-auth-file"
  Require valid-user
</Location>

你甚至可以添加authorization with gitolite.

转载注明原文:linux – 通过SSH访问远程Git存储库时使用su / sudo - 代码日志