大多数情况下在设置SVN时会设置一个群,并社区权限从svn根目录起开始有读写的权限。
但在设置多群的情况下需要注意一下权限的问题
例如:
一个svn库根目录下有两个文件夹FolderA和FolderB。
设置两个群GroupA和GroupB,GroupA从根目录起有读写的权限(对FolderA和FolderB有读写权限),GroupB只对FolderB有只读权限。
设置如下
1.创建指定用户
在passwd文件中创建指定用户
[users] user1=user1 user2=user2 user3=user3 user4=user4
2.创建群
在authz文件中创建群
找到[groups]标签在下放创建GroupA和GroupB两个群,并将用户添加到群中
[groups] GroupA=user1,user2 GroupB=user3,user4
3.设置群的权限
在authz文件中设置权限
语法格式:
[<目录>] @<群名称>=<权限字母>
设置GroupA权限
[/] @GroupA=rw
“[/]”的意思是可看到的范围,从svn库的根目录下任何文件夹以及其内的文件都可以访问
“@GroupA=rw”的意思是GroupA群对根目录下全部文件夹和文件拥有读写的全,“r”代表读,“w”代表写
设置GroupB权限
[/FolderB] @GroupB=r
此处就不多解释了
4.其他设置
此时还不能算真正结束设置,在用svn客户端访问某个文件的历史记录时会出现以下信息:
svn:Item is not readable
这会导致无法查看文件的历史记录,此时需要去svnserve.conf文件中修改一下。
进入svnserve.conf文件,查找[general]下有一个被注释掉的参数anon-access,讲anon-access前面的注释符号(#)去除掉,并将anon-access的值设置成none,内容如下:
anon-access = none
重新启动Svn的服务就可以了