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.

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...