51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

SVN的权限配置教程

前言 {#前言}

本篇将讲解如何在Linux服务器上配置SVN仓库的目录权限、人员分组,全部配置都是通过命令在服务端完成。

配置教程 {#配置教程}

首先确保你在服务器上已经存在一个SVN的仓库了,我们定位到仓库的/conf目录,这里就是存放配置的地方,这个目录下的几个配置文件介绍如下:
authz 是权限配置文件,哪个目录有读写权限,设置什么分组,都是在这里配置
hooks-env.tmpl 是钩子环境变量配置文件的模版,我们暂时用不到,可以忽略
passwd 用来配置用户的帐号密码
svnserve.conf 是subversion的总配置,如果你需要登陆并且授权的用户才可以访问,则需要像我样配置这个文件:

|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 | [general] # 是否允许未登录的用户访问,none表示不允许 anon-access = none # 登陆后的权限,可写 auth-access = write # 密码配置文件名 password-db = passwd # 权限配置文件名 authz-db = authz |

我们着重来看下authz文件如何给每个用户配置不同目录的读写权限,一个经典的配置文件如下:

|------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # 分组配置 [groups] admin = zhangsan developer = lisi,wangwu # 根目录的权限 [/] zhangsan = rw * = # 开发人员这个分组分配了/src目录权限 [/src] @developer = rw * = |

这个配置文件分两类配置,一类是分配配置,第二类是路径权限配置。
[groups] 表示后面配置的是分组,我们可以把一些权限相同的用户都归为一个组,比如管理员admin,开发人员developer。多个成员要用英文逗号分隔开。

除了分组,其他的以中括号括起来的都表示这个仓库中的一个目录,甚至是可以一个文件名,因为SVN是可以支持文件级的权限配置的。

上面的配置,我们给zhangsan分配了根目录/的读写权限rw,除了rw,还有只读r,无权限(空)。

* = 是一个特殊的配置,表示除了上面配置的人,其他人都没有权限,这行配置需要放在每个路径配置的最后。

/src目录我们给开发组的所有成员配置了读写权限,注意这里配置的是一个分组,需要以@符号开头,这个分组你必须先在上面配置过,否则会报错找不到分组。

权限配置文件就是这么的简单,但是如果你管理的项目比较多,人员多,经常这样修改配置文件是非常危险的,可能稍微不留神就配置错了,从而导致整个仓库无法访问。


赞(1)
未经允许不得转载:工具盒子 » SVN的权限配置教程