Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SVN用户组和权限_Svn_Permissions_Tortoisesvn_Ssh_Usergroups - Fatal编程技术网

SVN用户组和权限

SVN用户组和权限,svn,permissions,tortoisesvn,ssh,usergroups,Svn,Permissions,Tortoisesvn,Ssh,Usergroups,我已经在我的主机帐户上安装了SVN服务器。用户可以签入和签出,但他们可以访问我的整个存储库 为了让人们能够访问,我向用户颁发我的帐户的公钥,然后在我的~/.ssh内的“authorized_keys”文件中添加一行,如下所示: command="/home/user/packages/bin/svnserve -t -r /home/user/repository --tunnel-user=diogo",no-port-forwarding,no-agent-forwarding,no-X11

我已经在我的主机帐户上安装了SVN服务器。用户可以签入和签出,但他们可以访问我的整个存储库

为了让人们能够访问,我向用户颁发我的帐户的公钥,然后在我的~/.ssh内的“authorized_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

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

您使用的是SSH隧道。如果我正确阅读了,您需要为您登录的用户设置存储库文件本身的权限,但您也可以直接在conf文件中阻止用户:

在隧道上运行时,授权主要由操作系统对存储库数据库文件的权限控制;这与Harry通过文件:///URL直接访问存储库非常相似

如果多个系统用户将要直接访问存储库,您可能希望将他们放在一个公共组中,并且您需要注意umask。(请务必阅读“支持多存储库访问方法”一节。)

但即使在隧道中,svnserve.conf文件仍然可以通过简单地设置auth access=read或auth access=none来阻止访问

(摘自“SSH身份验证和授权”)

顺便说一下,你说你是在你的主机帐户上做这件事的。我也试过一次,但不得不放弃,因为我不允许添加新的SSH用户。如果无法添加SSH用户帐户,则无法通过隧道进行细粒度身份验证-用户将始终拥有对repo的完全访问权限

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


我最终切换到一个基于Windows的小型虚拟服务器,并在那里安装了Brain dead easy svn包装器。它需要一些钱(大约20欧元/月,我见过基于Linux的虚拟服务器起价10美元),但从那以后我一直很满意它。(当然,您可以使用Linux并使用Apache设置svn,这也是VisualSVN内部的工作。)

您使用的是SSH隧道。如果我正确阅读了,您需要为您登录的用户设置存储库文件本身的权限,但您也可以直接在conf文件中阻止用户:

在隧道上运行时,授权主要由操作系统对存储库数据库文件的权限控制;这与Harry通过文件:///URL直接访问存储库非常相似

如果多个系统用户将要直接访问存储库,您可能希望将他们放在一个公共组中,并且您需要注意umask。(请务必阅读“支持多存储库访问方法”一节。)

但即使在隧道中,svnserve.conf文件仍然可以通过简单地设置auth access=read或auth access=none来阻止访问

(摘自“SSH身份验证和授权”)

顺便说一下,你说你是在你的主机帐户上做这件事的。我也试过一次,但不得不放弃,因为我不允许添加新的SSH用户。如果无法添加SSH用户帐户,则无法通过隧道进行细粒度身份验证-用户将始终拥有对repo的完全访问权限

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


我最终切换到一个基于Windows的小型虚拟服务器,并在那里安装了Brain dead easy svn包装器。它需要一些钱(大约20欧元/月,我见过基于Linux的虚拟服务器起价10美元),但从那以后我一直很满意它。(当然,您可以使用Linux并使用Apache设置svn,这也是VisualSVN内部的工作。)

我的托管帐户是通过hostmonster的,因此他们只提供一个用户登录,因此我无法设置文件的用户权限,因为只有一个用户。是否有其他方法,或者可能有添加新用户的方法?Thanks@Martin如果你的提供商不允许,我认为没有办法添加新用户。这些是系统级的用户帐户。是的,我已经考虑过将svn与Apache集成,但我无法访问某些文件和CMD,hostmonster支持部门表示这是不允许的。无论如何,我会在未来看看其他托管提供商。谢谢你的帮助。我的托管帐户是通过hostmonster的,所以他们只提供一个用户登录,因此我无法设置文件的用户权限,因为只有一个用户。是否有其他方法,或者可能有添加新用户的方法?Thanks@Martin如果你的提供商不允许,我认为没有办法添加新用户。这些是系统级的用户帐户。是的,我已经考虑过将svn与Apache集成,但我无法访问某些文件和CMD,hostmonster支持部门表示这是不允许的。无论如何,我会在未来看看其他托管提供商。谢谢你的帮助。