svn的权限管理涉及到以下文件:
  passwd - /conf目录下,用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
  authz - /conf目录下,用于存放本svn库的访问授权信息。
  svnserve.conf - /conf目录下,用于存放本svn库的全局访问控制信息。


  最重要的是authz文件,它定义了两部分的内容:
  1,对组成员的定义,
  2,对目录的授权定义,
  可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('')。

  -------多项目权限配置--------
  多项目共享配置文件在/opt/svndata/conf  (有passwd和authz文件)

  1.建立多版本库:
  版本库1:
svnadmin create /opt/svndata/phpiii
  版本库2:
svnadmin create /opt/svndata/phpiii2
  2.修改版本库配置文件:
  版本库1:
/opt/svndata/phpiii/conf/svnserve.conf


[general]
anon-access = none ##(none:不允许匿名用户访问)
auth-access = write
password-db = /opt/svndata/conf/passwd  ##指向/svnroot/conf目录的passwd文件 
authz-db = /opt/svndata/conf/authz
realm = phpiii

  版本库2:
/opt/svndata/phpiii2/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = /opt/svndata/conf/passwd   
authz-db = /opt/svndata/conf/authz
realm = phpiii2

  即除realm = phpiii2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。

  2.配置允许访问的用户
  为了简化配置,2个版本库共用1个用户配置文件/opt/svndata/conf下。如有必要,也可以分开。注意:对用户配置文件的修改立即生效,不必重启svn
  打开/opt/svndata/conf/的passwd文件
[users]
phpiii = phpiii123
phpiii2 = phpiii123


  3.配置用户访问权限:
  打开/opt/svndata/conf/的authz文件

  为了简化配置,3个版本库共用1个权限配置文件/opt/svndata/conf/authz。如有必要,也可以分开。文件中定义用户组和版本库目录权限。

  注意:
  * 权限配置文件中出现的用户名必须已在用户配置文件中定义。
  * 对权限配置文件的修改立即生效,不必重启svn。

  用户组格式:
  [groups]
  <用户组名> = <用户1>,<用户2>
  其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

  版本库目录格式:
  [<版本库>:/项目/目录]
  @<用户组名> = <权限>
  <用户名> = <权限>

  /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata/。这样,/就是表示对全部版本库设置权限。
  phpiii:/,表示对版本库1设置权限
  phpiii:/occi, ,表示对版本库1中的occi目录设置权限
  phpiii2:/,表示对版本库2设置权限

  权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限

  示例:
[groups]
admin = phpiii
guest = phpiii2

[/]
@admin = rw

[phpiii:/]
phpiii = rw

[phpiii2:/]
phpiii2 = rw

  删除无用文件:
rm /opt/svndata/phpiii/conf/authz
rm /opt/svndata/phpiii/conf/passwd
rm /opt/svndata/phpiii2/conf/authz
rm /opt/svndata/phpiii2/conf/passwd