【问题标题】:Modifying the gitolite repository url修改 gitolite 存储库 url
【发布时间】:2012-10-03 00:42:34
【问题描述】:

我已经安装了 gitolite。我能够很好地管理它。我添加了一些新的存储库和一些 pub 密钥。安装为“git@domain.com”,并为用户添加了一个存储库为repo.git

必须是git@domain.com:repo.git 才能访问,还是有办法在网址中指明用户?
例如可能是user@domain.com:repo.gitgit.domain.com/user/repo.git 之类的东西?

【问题讨论】:

    标签: gitolite


    【解决方案1】:

    不,它必须是 git@domain.com,因为用户总是相同的:您用来在服务器上安装和管理 gitolite 的 git 帐户。

    实际用户是根据您在进行 ssh 调用时使用的公钥推导出来的。
    如果您在 user.pub 文件中注册了该密钥,该文件表示 以用户登录名命名,则 gitolite 将能够识别您。

    欲了解更多信息,请参阅“how gitolite uses ssh”。

    如果你查看authorized_keys 文件,你会看到这样的条目(我当然剪掉了末端;它们很长):

    command="[path]/gitolite-shell sitaram",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA18S2t...
    command="[path]/gitolite-shell usertwo",[more options] ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArXtCT...
    

    首先,它找出此文件中的哪些公钥与传入的登录名匹配。
    一旦找到匹配项,它将运行该行给出的命令;例如,如果我登录,它将运行 [path]/gitolite-shell sitaram
    所以首先要注意的是,这样的用户没有得到“shell访问”,这很好!

    gitolite-shell 获得控制权时,它会查看第一个参数(“sitaram”、“usertwo”等)来确定您是谁。然后它会查看 SSH_ORIGINAL_COMMAND 变量以找出您要访问的存储库,以及您是在读取还是在写入。

    现在它有一个用户、存储库和请求的访问权限(读/写),gitolite 查看它的配置文件,并允许或拒绝请求。

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      • 2014-10-20
      • 2011-06-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      相关资源
      最近更新 更多