SVN服务器用户权限配置

ARM 174浏览

案例1:
temp文件夹的目录结构:
temp
├arm
│├folder1
││ ├f1.txt
│├folder2
││ ├f2.txt
│├folder3
││ ├f3.txt
我在temp目录下进行Import 到 版本库 svn://localhost/arm
然后我想将用户A、B、C的访问权限设为folder1、folder2、folder3,也就是A只能访问folder1,B只能访问folder2,C只能访问folder3,另外叫Boss的用户可以所有文件
所以我就对authz文件进行配置A、B、C的权限:
(我这里不对用户进行分组)
[arm:/]
* = r
[arm:/folder1]
Boss = rw
A = r
* =
[arm:/folder2]
Boss = rw
B = r
* =
[arm:/folder3]
Boss = rw
C = rw
* =
按照上面这样的设置法,是不是达到我要的目的了呢?答案是:没有!根本没有!
为什么???????
...........
主要是我导入版本库里的目录结构有那么点细微差别!!!
“注意目录结构的细微的差别”
比如要访问folder1的话,访问路径应该是: svn://localhost/arm/arm/folder1,这里有两个arm,是因为我把temp下的东东导入到了这个版本库:svn://localhost/arm。
而配置权限的时候,[arm:/]这才代表工程的根目录,即:svn://localhost/arm
要想配到folder1目录下,就得这么写: [arm:/arm/],再看我上面所写的权限配置,就知道我错在哪了

案例2:

passwd文件
[users]
fan = 2434582
# harry = harryssecret
# sally = sallyssecret

authz文件

[groups]
# harry_and_sally = harry,sally
[A:/]
fan = rw
# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

svnserve.conf文件 我打开注释的文件
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

然后运行服务器 svnserve -d -r D:/A 回车(DOS窗口不关)
对我要用的客户端的文件夹点右建checkout 地址栏:svn://localhost/A
当我输入用户名 fan 密码 2434582 时 出现了Error: Authorization failed.

解决方法:
authz文件配置错误,authz文件应该这么写:
[/]
fan = rw

[/]
是svnserve服务指定的根目录
在例子中指的是资源库的根目录