多项目中SVN权限管理精辟解析

本节和大家讨论一下多项目SVN权限管理,主要包括建立版本库,修改版本库配置文件,配置允许访问的用户,设置用户访问权限。下面我们就来看一下SVN权限管理。
svn权限管理
svn的权限管理涉及到一下文件:
passwd文件--/conf目录下用于存放本svn库的用户名和密码,用=分割,左边是用户名,右边是密码(明文)。
authz--/conf目录下用于存放本svn库的访问授权信息。
SVNserve.conf/conf目录下用于存放本svn库的全局访问控制信息。
最重要的是authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
-------多项目SVN权限配置--------
多项目共享配置文件在G:\SVNRoot\conf(有passwd和authz文件)
1.SVN权限管理需要建立多版本库:
版本库1:svnadmincreateG:\SVNRoot\nninfo
版本库2:svnadmincreateG:\SVNRoot\gxzx
2.SVN权限管理需要修改版本库配置文件:
版本库1:G:\SVNRoot\nninfo\conf\svnserve.conf
[general]
anon-access=none##(none:不允许匿名用户访问)
auth-access=write
password-db=../../conf/passwd##指向G:\SVNRoot\conf目录的passwd文件
authz-db=../../conf/authz
realm=pronninfo
版本库2:G:\SVNRoot\gxzx\conf\svnserve.conf
[general]
anon-access=none
auth-access=write
password-db=../../conf/passwd
authz-db=../../conf/authz
realm=progxzx
即除realm=progxzx外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。
3.SVN权限管理需要配置允许访问的用户
为了简化配置,2个版本库共用1个用户配置文件G:\SVNRoot\conf下。如有必要,也可以分开。注意:对用户配置文件的修改立即生效,不必重启svn
打开G:\SVNRoot\conf\的passwd文件
[users]
hgx=hgx
cook=cook
4.SVN权限管理需要配置用户访问权限:
打开G:\SVNRoot\conf\的authz文件,为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
◆权限配置文件中出现的用户名必须已在用户配置文件中定义。
◆对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为G:\SVNRoot。这样,/就是表示对全部版本库设置权限。
pronninfo:/,表示对版本库1设置权限
pronninfo:/occi,,表示对版本库1中的occi目录设置权限
progxzx:/,表示对版本库2设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限
示例:
 

  1. [groups]  
  2. admin=hgx 
  3. guest=cook 
  4. [/]  
  5. @admin=rw 
  6. [pronninfo:/occi]  
  7. hgx=rw 
  8. [progxzx:/]  
  9. hgx=rw 
  10. cook=

删除无用文件:
rmG:\SVNRoot\nninfo\conf\authz
rmG:\SVNRoot\nninfo\conf\passwd
rmG:\SVNRoot\gxzx\conf\authz
rmG:\SVNRoot\gxzx\conf\passwd。SVN权限管理本节介绍完毕,请关注本节的其他相关报道。

posted @ 2015-12-02 10:29  Fatt  阅读(6301)  评论(0编辑  收藏  举报