conf/svnserve.conf文件,这个文件控制了svnserve守护进程的配置,也提供了有用的文档。
为了打开匿名的写访问,只需要简单得设置:
[general] anon-access = write
然而,你不会知道谁修改了版本库,因为svn:author属性是空的,你也不能控制谁来修改版本库,这是一个很危险的设置。
解决这个问题的一个方法是创建密码数据库:
[general] anon-access = none auth-access = write password-db = userfile
这里userfile与svnserve.conf文件在同一个目录,这个文件也可以存在于文件系统的其他地方(当多个版本库使用相同的访问权限时尤其有用),并使用绝对路径引用,或者是conf的相对目录,使用\或盘符不能工作。userfile的结构如下:
[users] username = password ...
这个例子拒绝所有的未认证用户(匿名)访问,给userfile中的用户读写权限。
|
|
提示 |
|---|---|
|
如果维护多个版本库使用相同的密码数据库,使用一个认证域将让用户的工作更加简单,因为TortoiseSVN可以缓存你的凭证,所以你只需要输入一次,更多的信息可以看《使用Subversion进行版本控制》,对应的章节为创建用户文件和域和用户凭证缓存 |
3.2.5. 使用svn+ssh的认证
另一种svnserve认证的方法是使用SSH来建立请求通道。
通过此方法,svnserve不会作为守护进程启动,而是SSH为你启动svnserve,以SSH授权用户运行,为此,你需要在你的服务器上有SSH守护进程。
详细描述安装和设置SSH已经超过了本文的范围,然而你可以在TortoiseSVN FAQ里查找“SSH”。
更多的关于svnserve的信息可以看使用Subversion进行版本控制。
3.2.6. svnserve以路径为基础的授权
从Subversion1.3开始,svnserve支持与mod_authz_svn相同的路径为基础的授权模式,你需要编辑版本库路径下的conf/svnserve.conf引用的授权文件。
[general] authz-db = authz
在这里,authz是你创建用来定义访问权限的文件,你可以为每一个版本库使用单独的文件,或者为所有的版本库使用相同的文件,关于此文件的格式可以查看第 3.1.6 节 “路径为基础的授权”。

![[提示]](/uploads/allimg/080318/1035492.png)