当前位置: 代码迷 >> CVS/SVN >> svn的auth配置文件引见
  详细解决方案

svn的auth配置文件引见

热度:8665   发布时间:2013-02-26 00:00:00.0
svn的auth配置文件介绍

svn的auth配置文件介绍

 

本系列文章由ex_net(张建波)编写,转载请注明出处。


http://blog.csdn.net/ex_net/article/details/8586731


作者:张建波 邮箱: 281451020@qq.com 电话:13577062679 欢迎来电交流!

auth文件主要是用来控制svn的访问权限的。当然,前提条件是采用 svn +apache方式安装才行。

 

在安装svn时,我们会去修改apache 的 httpd.conf 这个配置文件。

通常情况下会增加一个虚拟站点。

<Location /svn/ynlx>DAV svnSVNParentPath /svn/ynlxAuthType Basic   AuthName "ynlx subversion repository"AuthUserFile /svn/ynlx/passwd AuthzSVNAccessFile /svn/ynlx/authRequire valid-user</Location>

 

一、基础知识介绍

如果你的apache默认站点是 http://127.0.0.1/访问的话,这个svn就是http://127.0.0.1/svn/ynlx

这个url访问路径主要是由“<Location /svn/ynlx>” 控制

 

SVNParentPath /svn/ynlx 这个行主要是指明svn的版本库根目录位置。当然这个地址可以和url不同

AuthUserFile /svn/ynlx/passwd 指明了用户信息(用户名、密码)在/svn/ynlx/下的passwd 这个文件里

AuthUserFile /svn/ynlx/passwd AuthzSVNAccessFile /svn/ynlx/auth 指明了用户权限文件在 /svn/ynlx下

 

 

passwd文件可以通过 htpasswd 命令创建

注意:

     开始创建用户时,要带上“-c”参数,标示创建新文件。

    例如:

        htpasswd -c /svnynlx/passwd zjb   创建一个新用户"zjb"

       创建第2个用户时 htpasswd  /svn/ynlx/passwd  why

       创建第3个用户时 htpasswd /svn/ynlx/passwd yyx

      ...依次类推

     每次创建用户,都需要输入2次密码。输入时不会“回显”,要注意不要输入错误。

 

二、常用的auth配置文件编写方式

   (1)组设置

通常情况下,我们用户是按【组(groups)】进行管理的。

  因此,在创建好passwd文件的前提下,可以对用户进行分组

例如:

    

[groups]admin=zjb,yyx,wlt,zmkdoc=xzl,wsh,wllpm=wltguest=ynlx
dev=zjb


在这里设置了一个admin管理员组,doc文档组,pm项目经理组,guest访客组

(2)访问目录权限控制

 

例如:admin管理员组对整个版本库有最高权限(写+读)的权限

[/]@admin=rw


例如doc组可以对根“/”目录下的document文档进行(写+读)操作,其它人可以(读)

[repos:/document]*=r@doc=rw

注意这里的repos是相对于你在建立版本库时指定的根为准

假设你是用下面的方法创建的版本库:

root@exnet:~# mkdir /svnynlx
root@exnet:~# mkdir /svn/ynlx/repos
root@exnet:~# svnadmin create /svn/ynlx/repos

 

例如要让pm产品经理对pro产品目录进行(写+读)操作,其它人禁止访问(读)

[repos:/pro]@pm=rw


这样既可,这样的话其它人就不能访问了。

注意:

    切记不要对

    [/]

    *=r

  这样的话,根据继承的关系,你就无法做到对下面的子目录进行(读)取控制了。

 

最后关于“@”的说明,@表示是“组”

例如:

  @admin 表示是“admin组”

  admin表示是“admin用户”

 

 例如,需要让dev组可以读写sdk目录,但是又需要wlt这个用户也具有相应的权限。

[repos:/sdk]@dev=rwwlt=r


 

 访问控制权限还可以多级控制,只要修改[[repos:/sdk]]这里,安装目录树结构修改即可。

 

更多的技巧,大家可以自己多多尝试!

 


附注:

   

基于阿里云服务器搭建SVN服务器   http://blog.csdn.net/ex_net/article/details/8577784
SVN版本库(访问权限)配置实例笔记 http://blog.csdn.net/ex_net/article/details/8578297

 

 

  相关解决方案