5.
修改D:/SVNROOT/passwd文件
前面已经说过了,用户和密码文件应该是在D:/SVNROOT/passwd,所以我们为每一位用户设置权限,文件内容如下:
[users]
p1_a1 = p1_a1
p1_d1 = p1_d1
p1_t1 = p1_t1
p2_a1 = p2_a1
p2_d1 = p2_d1
p2_t1 = p2_t1
为了便于验证,所有密码和用户名一致。
6.
配置授权,修改D:/SVNROOT/authz[groups]
# 定义组信息
p1_group_a = p1_a1
p1_group_d = p1_d1
p1_group_t = p1_t1
p2_group_a = p2_a1
p2_group_d = p2_d1
p2_group_t = p2_t1
[/]
# 指定所有的版本库默认只读,root可读写
* = r
root = rw
[project1:/]
# 指定对版本库project1根目录的权限
@p1_group_a = rw
@p1_group_d = rw
@p1_group_t = r
[project1:/trunk/admin]
# 指定对版本库project1的/trunk/admin根目录的权限,
# p1_group_a读写,p1_group_d和p1_group_t没有任何权限。
@p1_group_a = rw
@p1_group_d =
@p1_group_t =
[project2:/]
# 指定对版本库project2根目录的权限
@p2_group_a = rw
@p2_group_d = rw
@p2_group_t = r
[project2:/trunk/admin]
# 指定对版本库project2的/trunk/admin根目录的权限
# p2_group_a读写,p2_group_d和p2_group_t没有任何权限。
@p2_group_a = rw
@p2_group_d =
@p2_group_t =
经过以上设置以后,你会发现当使用用户“p1_d1”,检出project1的trunk时,目录是空的,好像admin目录根本不存在一样,当使用p1_d1用户浏览版本库时,能够看到admin目录,但是其中的内容却无法看到。
关于中文目录,也是没有问题的,只是注意要把authz文件转化为UTF-8格式,在我的WINXP的UltraEdit里显示的文件格式为U8-DOS,具体的做法是用UltraEdit打开authz文件,然后选择“文件->转换->ASCII转UTF-8”,然后保存。
再复杂的情况也不过如此,在实际的工作中要首先规划好权限,只赋给用户最小的权限,保证以最小的配置实现最复杂的权限控制。 |