svnserve权限配置
分配权限时,目录应该应该遵从从大到小,权限应该从小到大的规则
即:目录从根目录开始,权限从没有权限(为空即可)到可写再到可读写。
提示:目录的访问权限既可以分配给组,也可以分配指定用户。
首先要查看是否修改这个目录下的一个配置文件,如果没有就修改
(1)vi svnserve.conf(全路径如:vi /usr/local/svn/conf/svnserve.conf)
把
# authz-db = authz
前面的#号和空格去掉,变成
authz-db = authz (文件可变更为其它)
保存
如果要对含有中文的目录或文件进行管理或分配时,需要将该文件保存为UTF-8格式
微软的记事本保存为UTF-8格式无效,所以不要用
可用如UltraEdit或EditPlus等软件完成,保存时,格式应选择UTF-8 NO BOM。
版本库目录结构如下:
D:\SVN
|—A:项目一
|—A:目录1
|—B:目录2
|—B:项目二
|—A:目录1
|—B:目录2
|—authz (共享的权限配置文件)
|—passwd (共享的密码文件)
(2) vi authz(全路径如:vi /usr/local/svn/conf/authz)
[groups]
group_admin = admin
group_vip = user1,user2
group_vip2 = aaa,bbb
group_vip3 = ccc,ddd
设置对根(即SVN)目录下,所有版本库的访问权限
[/]
* = #所有登录用户默认没有任何权限
@group_vip = r #给用户组分配权限,该组用户有可读权限(以下文件权限可以再对group_vip用户组用户增加可写权限)
@group_admin = rw #给用户组分配权限,该组用户有读写权限(以下文件权限可以不用再对group_admin用户组用户进行权限设置)
以下将对各版本库的及其目录进行权限分配
[A:/] #设置A版本库中,所有项目的访问权限
* = #未授权用户没有任何权限
@group_vip2 = r #group_vip2用户组用户有可读权限(group_vip用户组用户仍有可读权限,下同)
@group_admin = rw #group_admin用户组用户有读写权限
以下将对各版本库的及其目录进行权限分配
[B:/] #设置B版本库中,所有项目的访问权限
* = #未授权用户没有任何权限
aaa = r #aaa用户(属于group_vip2用户组)对B版本库有可读权限
@group_vip3 = r #group_vip3用户组用户有可读权限
@group_admin = rw #group_admin用户组用户有读写权限
以下将对各版本库的及其目录进行权限分配
[B:/A] #设置B版本库中A目录文件访问权限
* = #未授权用户没有任何权限
ccc = rw #用户ccc对B版本库中A目录文件有可读写权限
@group_vip3 = r #group_vip3用户组用户有可读权限
@group_admin = rw #group_admin用户组用户有读写权限
另:多个版本库可以把passwd和authz文件共享,避免重复分配权限