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
如何配置DAV svn访问?_Svn - Fatal编程技术网

如何配置DAV svn访问?

如何配置DAV svn访问?,svn,Svn,我试图限制对本地subversion服务器上存储库的访问。我已经使用Apache和dav_svn_模块和authz_svn_模块设置了它。目前,它的工作非常好,用户登录,可以提交罚款 我想要实现的是一个单一的存储库,它只能由一个用户读写 我的/etc/httpd/conf.d/subversion.conf如下 <Location /svn> DAV svn SVNParentPath /var/www/svn # Limit write permission t

我试图限制对本地subversion服务器上存储库的访问。我已经使用Apache和
dav_svn_模块
authz_svn_模块
设置了它。目前,它的工作非常好,用户登录,可以提交罚款

我想要实现的是一个单一的存储库,它只能由一个用户读写

我的
/etc/httpd/conf.d/subversion.conf
如下

<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn

   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repositories"
      AuthUserFile /etc/svn-auth-users
      Require valid-user
      AuthzSVNAccessFile /etc/svnauthz.conf
   </LimitExcept>
</Location>
但是,这目前限制了对服务器上每个存储库的访问,这并不理想。如何将访问配置为特定于单个存储库

另外,这是一个内部服务器,所以尽管我非常感谢对生产的建议,但这并不是必需的

更新
我现在已经更新了我的
svnauthz.conf
文件

[groups]
devs = david.yell,user2,user3

[ProtectedRepo:/]
david.yell = rw
* = 

[/]
$authenticated = rw
@devs = rw
* =
我试图用它作为参考,但它在这里引用

更具体地说:节名称的值是 格式[repos name:path]或格式[path]。如果你正在使用 SVNParentPath指令,那么指定存储库很重要 请在您的分区中输入名称。如果省略它们,那么 [/some/dir]将匹配每个存储库中的路径/some/dir

这是否意味着我需要声明服务器上的每个回购协议?目前大约有30个

设置每个目录访问控制,以区分用户对每个WEBDAV存储库/路径的权限

对于Apache,需要加载mod_authz_svn模块,然后添加指向您自己的规则文件的authzsvnacessfile指令(在httpd.conf文件中)。(有关完整的解释,请参阅“每个目录访问控制”部分。)如果您使用的是svnserve,则需要使authz db变量(在svnserve.conf中)指向您的规则文件

可以使用第二个apachehttpd模块mod_authz_svn设置更细粒度的权限。此模块获取从客户端传递到服务器的各种不透明URL,请求mod_dav_svn对其进行解码,然后可能根据配置文件中定义的访问策略否决请求

如果您是从源代码构建Subversion的,那么mod_authz_svn将自动构建并与mod_dav_svn一起安装。许多二进制发行版也会自动安装它。要验证它是否正确安装,请确保它位于httpd.conf中mod_dav_svn的LoadModule指令之后:

参考资料


设置用户对存储库/路径的访问权限。谢谢你的链接,我现在有这个设置。但是我的"保护",;repo将不允许访问。请注意您使用的“$authenticated”语法:我不知道这个存在。这有文件记录吗?我只能在@Illy:好的,我现在找到了:快结束了
[groups]
devs = david.yell,user2,user3

[ProtectedRepo:/]
david.yell = rw
* = 

[/]
$authenticated = rw
@devs = rw
* =