SVN权限配置简介
这里首先要注意一点,任何配置文件的有效配置行,都不允许存在前置空格,否则程序可能会出错,给你一个 ``Option expected`` 的提示。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4个空格全部删除。
svnserve.conf:是 svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。
password-db = passwd.conf 告诉 svnserve.exe,用户名与密码放在passwd.conf 文件下
authz-db = authz.conf 告诉 svnserve.exe,项目目录访问权限的相关配置是放在 authz.conf 文件里
接下来这两行的意思,是说只允许经过鉴权的用户,方可访问代码库。那么哪些是“经过鉴权的”用户呢?噢,当然,就是前面说那些在 passwd.conf 文件里面持有用户名密码的用户。这两行的等号后面,目前只允许read write none 三种值:
anon-access = none 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
auth-access = write 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
上述的 passwd.conf 和 authz.conf 两个文件也可以作为多个代码库共享使用,我们只要将它们放在公共目录下,
然后在每个代码库的 svnserve.conf 文件中,使用如下语句:
password-db = ..\..\passwd.conf
authz-db = ..\..\authz.conf
或者
password-db = ../../passwd.conf
authz-db = ../../authz.conf
权限控制的步骤
1、修改svnserve.conf文件如下
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
2、password文件中添加用户信息
taiyang=666
yueliang=888
xingxing=668
3、authz文件中设置组与相应的权限
g_beijing=taiyang
g_nanjing=yueliang,xingxing
[/]
@g_beijing=rw
*=r
[/taiyang/taiyang-branch]
g_nanjing=rw
(2)其中g_beijing=taiyang意思是:taiyang用户隶属于权限组g_beijing
g_nanjing=yueliang,xingxing意思是:yueliang,xingxing用户隶属于权限组g_nanjing
[/]
@g_beijing=rw
*=r
表示组g_beijing对所有的目录有读与写的权限,其它用户则只有读(r)的权限。
[/taiyang-branch/WEB-INF]
g_nanjing=rw
表示组g_nanjing对/taiyang/taiyang-branch目录有读与写的权限。
当用户没有权限,或权限不对时,会报错