本章将详细介绍SVN 权限配置涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义。除此之外的其他配置、安装等内容,不是本文重点,读者若有什么疑问,请参考后面“参考文献”中列出的一些文档。 这里首先要注意一点,任何配置文件的有效配置行,都 **不允许存在前置空格** ,否则程序可能会出错,给你一个 ``Option expected`` 的提示。也就是说,如果你直接从本文的纯文本格式中拷贝了相关的配置行过去,需要手动将前置的4 个空格全部删除。当然了,如果你觉得一下子要删除好多行的同样数目的前置空格是一件苦差使,那么也许 UltraEdit 的“Column Mode”编辑模式,可以给你很大帮助。 svnserve.conf ------------- ``arm\conf\svnserve.conf`` 文件,是 svnserve.exe 这个服务器进程的配置文件,我们逐行解释如下。 首先,我们告诉 svnserve.exe,用户名与密码放在 passwd.conf 文件下。当然,你可以改成任意的有效文件名,比如默认的就是 passwd:: password-db = passwd.conf 接下来这两行的意思,是说只允许经过验证的用户,方可访问代码库。 那么哪些是“经过验证的”用户呢?噢,当然,就是前面说那些在 passwd.conf 文件里面持有用户名密码的家伙。这两行的等号后面,目前只允许 read write none 三种值,你如果想实现一些特殊的值,比如说“read-once”之类的,建议你自己动手改源代码,反正它也是自由软件:: anon-access = none auth-access = write 接下来就是最关键的一句呢,它告诉 svnserve.exe,项目目录访问权限的相关配置是放在 authz.conf 文件里:: authz-db = authz.conf 当然,svn 1.3.2 引入本功能的时候,系统默认使用 authz 而不是 authz.conf 作为配置文件。不过可能由于鄙人是处女座的,据说有着强烈的完美主义情结,看着 svnserve.conf 有后缀而 passwd 和 authz 没有就是不爽,硬是要改了。 上述的 passwd.conf 和 authz.conf 两个文件也可以作为多个代码库共享使用,我们只要将它 们 放 在 公 共 目 录 下 ,比 如 说 放 在 ``D:\svn`` 目 录 下 ,然 后 在 每 个代 码 库 的 svnserve.conf 文件中,使用如下语句:: password-db = ..\..\passwd.conf authz-db = ..\..\authz.conf 或者:: password-db = ../../passwd.conf authz-db = ../../authz.conf...