本节接着上节内容向大家简单描述一下SVN权限配置方面的知识,主要包括修改D:\SVNROOT\passwd文件和配置授权两个方面,欢迎大家一起来学习SVN权限配置方法。
1.修改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
为了便于验证,所有密码和用户名一致,下面看一下SVN权限配置中如何配置授权。
2.配置授权,修改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根目录的权限,继续介绍SVN权限配置。
#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”,然后保存。再复杂的情况也不过如此,在实际的工作中要首先规划好权限,只赋给用户最小的权限,保证以最小的配置实现最复杂的权限控制。本节SVN权限配置讲解完毕。
【编辑推荐】