您的位置:首页 > 其它

关于Svn的权限设置

2010-03-25 11:21 465 查看
我的Svn的版本库路径为:E:/svn/repository 打开它下面的conf子目录,会看到三个文件,分别命名为:authz,passwd,svnserve.这三个文件就是用来对该版本库的权限进行管理的。

一.svnserve:

这个文件是对版本库权限进行管理的全局文件,其中有四行内容常用,分别是:

#anon-access = read //对未注册用户的权限进行设置

#auth-access = write //对注册用户的权限进行设置

#password-db = passwd //对用户进行注册

#authz-db = authz //对已经注册的用户的权限进行精细设置

去掉前面的#号,表示未注册用户只能对版本库只有查看权限,注册用户对版本库有读写权限,用户的注册信息放在passwd文件中,所有注册用户的精细访问权限在authz文件中进行设置。(但是要注意,去掉#号后,后面内容必须向前进一格,前面不允许有空格,否则会出错)。

二.passwd:

这个文件保存用户的注册信息,格式为name=password形式。但是只有在svnserve中去掉password-db=passwd前面的#号后才起作用。

在其中添加以下用户信息:

zhangsan=zhangsan123

lisi=lisi123

wangwu=wangwu123

zhuliu=zhuliu123

三.authz:

这个文件对注册用户的权限进行精细设置,只有去掉svnserve文件中的authz-db=authz前面的#号后才起作用。

此时,我的版本库中存有两个项目,分别是project1,project2

project1

|-----a1

|----- a1.txt

|-----b1

|----- b1.txt

project2

|-----a2

|----- a2.txt

|-----b2

|-----b2.txt

权限分配时,应遵循从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限。提示:目录的访问权限既可以分配给组,也可以分配给指定用户。

#分组

在[groups]下添加:

group1=zhangsan,lisi //将zhangsan和lisi设为一组

group2=wangwu,zhuliu//将wangwu,和zhuliu设为二组

#权限设置

[/]

*=r #该版本库任何注册用户都可以查看

[/project1]

@group1=rw #一组中的所有成员(即zhangsan和lisi)对project1有读写权限

wangwu=rw #二组中的wangwu对project1有读写权限

[/project2]

@group2=rw #二组中的wanwu和zhuliu对project2有读写权限

[/project2/a2]

zhangsan=rw #一组中的zhangsan对project2中的a2文件夹中的文件有读写权限

[/project2/b2]

Lisi=rw # 一组中的lisi对project2中的b2文件中的文件有读写权限

注意:1.权限可以精细到文件夹,但不能到文件,比如到a2.txt时不可以的。

2.每次修改svnserve文件后,都要重启Svn服务

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shazhenzhong/archive/2010/01/19/5211743.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: