配置svn用户及权限
权限使用的用户名,必须在passwd文件里面存在,权限配置文件的修改立即生效,不必重启SVN;
例如创建一个运维组
用户组格式:
[groups]
yunwei = ligang,liming
其中,1个组可以包含1个用户或者多个用户,用户间以逗号分隔。
[root@mysql conf]# vim authz
授权
版本库目录格式:
[<版本库名字>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
方括号内部分可以有多种写法:
[/] #表示根目录及以下,根目录是sevnserve启动时指定的,我们指定为/application/svndata [/]就是表示对全部版本库设置权限;
[/public/crtlist] 表示对 wy版本库 中的 public项目和crtlist项目 目录设置权限
[sadoc:/] #表示对版本库sadoc设置权限;
[sadoc:/linux] #表示对版本库sadoc中的linux项目设置权限;
[sadoc:/linux/centos] #表示对版本库sadoc中的linux项目的centos目录设置权限;
对wy这个svn项目 这里的根目录/ 就是启动svn -r 指定的根目录 以下用户和用户组授权
对wy这个svn项目 上面/根目录 pulibc/crtlist 以下用户和用户组授权
[/]
ligang = rw
liming = r
@yunwei = rw
[wy:/public/crtlist]
ligang = rw
liming = r
@yunwei = rw
运维组 可读可写, ligang用户可读可写 ,liming可读
权限主体可以是用户组、用户或者*,用户组在前面加@,*表示全部用户。
权限可以是r、w、rw和空,空表示没有任何权限。
r 可读
w可写
rw 可读可写
如下权限体系的控制
[root@mysql conf]# egrep -v "^$|#" authz
[aliases]
[groups]
yunwei = ligang,liming
[/]
ligang = rw
liming = r
@yunwei = rw
[wy:/public/crtlist]
ligang = rw
liming = r
@yunwei = rw
[root@svn-node1 svnpasswd]# egrep -v "#" /application/svnpasswd/authz
[aliases]
[groups]
xuliangwei26 = stu001,stu002
[sadoc:/]
xuliangwei = rw
[sadoc:/linux]
xiaomi = rw
[sadoc:/linux/centos]
@xuliangwei26 =r
根目录只有xuliangwei可以读写,匿名用户没有任何权限。
二级Linux目录只有xiaomi可以读写,匿名用户没有任何权限。
三级centos目录只有xuliangwei26组可读,但是xuliangwei可读写,xiaomi也可读写