代码之家  ›  专栏  ›  技术社区  ›  Martin

SVN用户组和权限

  •  1
  • Martin  · 技术社区  · 14 年前

    为了给用户提供访问权限,我向用户颁发一个我的帐户的公钥,然后在我的~/.ssh中的“authorized\u keys”文件中添加一行,如下所示:

    command="/home/user/packages/bin/svnserve -t -r /home/user/repository --tunnel-user=diogo",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty ssh-rsa [KEY DATA IN HERE]== xxxx@xxxx.hostxxxxx.com
    

    然后用户可以通过如下隧道从我的服务器签出:

    svn+ssh://host.com/project/trunk
    

    我的问题是如何限制某些用户访问某些项目?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community CDub    4 年前

    svn book

    但即使在隧道中,svnserve.conf文件仍然可以用来阻止访问,只需设置auth access=read或auth access=none。

    顺便说一句,你说你是在你的托管帐户上这样做的。我也试过一次,但不得不放弃,因为我不能添加新的SSH用户。如果不能添加SSH用户帐户,就不能通过隧道进行细粒度身份验证—用户将始终拥有对repo的完全访问权限。

    要独立于SSH使用多用户身份验证,必须将svn与Apache集成,这在共享环境中通常是不可能的。

    VisualSVN Server 在那里。它花了一些钱(大约20/月,我见过基于Linux的虚拟服务器起价10美元),但从那以后我一直很满意(当然,您可以只使用Linux并使用Apache设置svn,这也是VisualSVN在内部所做的。)