SVN的权限配置教程
本篇将讲解如何在Linux服务器上配置SVN仓库的目录权限、人员分组,全部配置都是通过命令在服务端完成。
如果你是使用 SVNBucket 则可以通过图形操作界面来完成所有操作。
首先确保你在服务器上已经存在一个SVN的仓库了,我们定位到仓库的/conf
目录,这里就是存放配置的地方,这个目录下的几个配置文件介绍如下:authz
是权限配置文件,哪个目录有读写权限,设置什么分组,都是在这里配置hooks-env.tmpl
是钩子环境变量配置文件的模版,我们暂时用不到,可以忽略passwd
用来配置用户的帐号密码svnserve.conf
是subversion的总配置,如果你需要登陆并且授权的用户才可以访问,则需要像我样配置这个文件:
1 | [general] |
我们着重来看下authz
文件如何给每个用户配置不同目录的读写权限,一个经典的配置文件如下:
1 | # 分组配置 |
这个配置文件分两类配置,一类是分配配置,第二类是路径权限配置。[groups]
表示后面配置的是分组,我们可以把一些权限相同的用户都归为一个组,比如管理员admin
,开发人员developer
。多个成员要用英文逗号分隔开。
除了分组,其他的以中括号括起来的都表示这个仓库中的一个目录,甚至是可以一个文件名,因为SVN是可以支持文件级的权限配置的。
上面的配置,我们给zhaokai
分配了根目录/
的读写权限rw
,除了rw
,还有只读r
,无权限(空)。* =
是一个特殊的配置,表示除了上面配置的人,其他人都没有权限,这行配置需要放在每个路径配置的最后。/src
目录我们给开发组的所有成员配置了读写权限,注意这里配置的是一个分组,需要以@
符号开头,这个分组你必须先在上面配置过,否则会报错找不到分组。
好了,权限配置文件就是这么的简单,但是如果你管理的项目比较多,人员多,经常这样修改配置文件是非常危险的,可能稍微不留神就配置错了,从而导致整个仓库无法访问。如果你经常需要管理SVN项目,建议你使用SVNBucket 它提供了可视化的配置界面,不需要到服务器上手动配置这些,方便并且安全。