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 这个配置文件。

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

[html]  view plain copy
  1. <span style="font-size:18px;"><Location /svn/ynlx>  
  2. DAV svn  
  3. SVNParentPath /svn/ynlx  
  4. AuthType Basic     
  5. AuthName "ynlx subversion repository"  
  6. AuthUserFile /svn/ynlx/passwd   
  7. AuthzSVNAccessFile /svn/ynlx/auth  
  8. Require valid-user  
  9. </Location></span>  

 

一、基础知识介绍

如果你的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文件的前提下,可以对用户进行分组

例如:

    

[html]  view plain copy
  1. <span style="font-size:18px;">[groups]  
  2. admin=zjb,yyx,wlt,zmk  
  3. doc=xzl,wsh,wll  
  4. pm=wlt  
  5. guest=ynlx</span>  
[html]  view plain copy
  1. <span style="font-size:18px;">dev=zjb</span>  


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

(2)访问目录权限控制

 

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

[html]  view plain copy
  1. <span style="font-size:18px;">[/]  
  2. @admin=rw</span>  


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

[html]  view plain copy
  1. <span style="font-size:18px;">[repos:/document]  
  2. *=r  
  3. @doc=rw</span>  

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

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

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

 

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

[html]  view plain copy
  1. <span style="font-size:18px;">[repos:/pro]  
  2. @pm=rw</span>  


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

注意:

    切记不要对

    [/]

    *=r

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

 

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

例如:

  @admin 表示是“admin组”

  admin表示是“admin用户”

 

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

[html]  view plain copy
  1. <span style="font-size:18px;">[repos:/sdk]  
  2. @dev=rw  
  3. wlt=r</span>  


 

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

 

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

 


附注:

   

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值