代码之家  ›  专栏  ›  技术社区  ›  Jimmy Nitzan Tomer

git shell等价于svnsee-r?

  •  3
  • Jimmy Nitzan Tomer  · 技术社区  · 15 年前

    我正在尝试在共享的托管帐户上设置一个Git存储库,我和一个朋友都可以访问它。我通过将这一行添加到~/.ssh/authorized_-keys成功地在Subversion存储库中完成了此操作:

    command="/usr/bin/svnserve -t -r /path/to/svn/repo \
      --tunnel-user=myfriend",no-port-forwarding,no-agent-forwarding,\
      no-X11-forwarding,no-pty [ssh key]
    

    到目前为止,我已经了解到Git shell是Git的SVNServer等价物,但似乎没有一个等效的-r选项来限制对特定路径的访问。这是个问题,因为我不希望我的朋友访问其他Git存储库。

    我读过一些关于Gitosis的文章,它似乎可以做我想做的事情,但是我想在尝试设置另一个软件来完成这一特定需求之前看看是否有一个更简单的解决方案。事先谢谢!

    编辑:我发现这篇文章提供了一个脚本:

    http://eagain.net/blog/2007/03/22/howto-host-git.html

    但事实上,它是同一个人写的,后来写了gitosis,并被标记为过时。在我的情况下,Gitosi似乎不可能实现,因为它需要创建一个专用的Unix用户,而我不能使用共享的托管帐户。不过,如果我误解了其中的任何一点,我希望被证明是错误的!

    3 回复  |  直到 11 年前
        1
  •  2
  •   daf    15 年前

    以下是一些选项:

    • 控制用户可以使用普通的Unix权限访问哪些存储库。

    • 使用受限制的登录shell,例如 rssh 让你的朋友使用 rsync:// 他的遥控器的网址。

    • 通过HTTP或HTTPS为存储库提供用户名和密码保护。您需要启用git钩子来更新元数据。

        2
  •  0
  •   RyanWilcox    15 年前

    我认为这比所有这些都简单: setting up a remote git repository

        3
  •  0
  •   Jan Hudec    11 年前

    Gitosis被替换为 Gitolite .

    帐户不必专用,可以配置为正确保留其他授权密钥。