为什么svn authz默认需要读访问权限?

时间:2012-10-19 19:45:53

标签: svn mod-dav-svn authz

我需要为用户提供对一个存储库的读/写访问权限。

为什么这不起作用?

[groups]
dev = dvolosnykh,sam

[/ukk]
ukk = rw

[/]
@dev = rw

我为什么要添加它?

[/]
@dev = rw
* = r # read access for everyone. Why?

我正在使用dav_svn,apache2,Linux Ubuntu服务器11.04

我的dav_svn.conf:

<Location /svn>

  DAV svn

  SVNParentPath /var/svn
  SVNListParentPath On

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz

  Require valid-user

</Location>

4 个答案:

答案 0 :(得分:1)

默认情况下,根本没有任何人可以访问存储库。这意味着您可能希望至少为存储库根目录下的所有用户提供读取权限。您可以使用星号变量(*)来表示“所有用户”:

[/]
* = r

这是一种常见的设置;请注意,节名称中未提及存储库名称。这使得所有存储库对所有用户都是可读的。一旦所有用户都具有对存储库的读访问权限,您就可以为特定存储库中特定子目录上的某些用户提供明确的rw权限。

答案 1 :(得分:0)

嗯,你可以(并且真的有)为你的情况提供完全有效的dav_svn.authz文件

[groups]
dev = dvolosnykh,sam

[/ukk]
@dev = rw

[/]
* =

重新读取authz文件格式^ section-name是路径,访问操作数的左侧是对象(用户或组),右侧是access-type,空是NONE

答案 2 :(得分:0)

您应该在下面配置如下:

[<repo_name>:<path-in-repo>]

示例:

[osirisProject:/]

@grp_W = rw

答案 3 :(得分:0)

检查conf / svnserve.conf中的行

# anon-access = read
# auth-access = write

这些是匿名用户和经过身份验证的用户的默认设置,但您可以取消注释并将其更改为读取,写入或无。