我正在私人svn服务器上进行一些维护。身份验证通过Apache basic HTTP + mod_authz_svn处理。我需要拥有它,以便每个用户都具有读/写访问权限,但只有一个只读用户。但是,只读用户仍需要进行身份验证。我像这样设置我的authz配置文件:
[/] * = rw read-only = r
但这不起作用。用户“只读”仍可以提交更改。我可以让每个人只读对象,但* bit似乎覆盖了我为“只读”设置的内容。
FWIW,Apache conf的相关部分是:
<Location /repos> DAV svn SVNPath ... SVNIndexXSLT "/svnindex.xsl" AuthzSVNAccessFile ... AuthType Basic AuthName ... AuthUserFile ... Require valid-user </Location>
答案 0 :(得分:8)
在这种情况下,只读用户仍然具有写访问权限,因为它也匹配*组。
实现目标的安全方法是创建一组除了只读之外的所有用户,例如
[groups]
all-but-ro = harry, sally, ...
[/]
@all-but-ro = rw
read-only = r
(或者,您可能只会从passwd文件生成许多= rw行)
可能是svn从上到下匹配 - 这没有记录,我没有测试。所以试试
[/]
read-only = r
* = rw
答案 1 :(得分:0)
嗯,以前的帖子在ACL顺序上可能是正确的,但是......
我的配置包括
AuthzSVNAccessFile "<path-to-svn-acl-file>"
这可能也是个问题吗?