Windows下SVN权限配置说明:
1、本文档适用于对Subvesion的自带服务svnserve进行权限配置,全部在authz文件中完成。
2、如果要对含有中文的目录或文件进行管理或分配时,需要将该文件保存为UTF-8格式,微软的记事本保存为UTF-8格式无效,所以不要用。可用如UltraEdit或EditPlus等软件完成,保存时,格式应选择UTF-8NOBOM。
3、权限分配时,应遵守从根目录到子目录、从设置最广泛权限到最精细权限、从只读权限到读写权限设置原则,即从根目录开始设置最广泛的访问权限,然后逐步设置下属子目录的访问权限。提示:目录的访问权限既可以分配给组,也可以分配指定用户。现举例进行说明:启动服务:服务应指向所有版本库的根目录,本例中为D:\SVN,命令如下:
sccreateSVNServicebinpath="D:\Subversion\bin\svnserve.exe--service-rD:/SVN"displayname="SVNService"depend=Tcpipstart=auto
项目情况:D盘根目录下有一个文件夹SVN,在该文件夹中有jsyxv3、svntest两个版本库(可以有更多个),这些版本库共享使用同一个权限配置文件,目录结构如下:
D:\SVN
|---jsyxv3(项目一,子目录略)
|---svntest(项目二,子目录略)
|---conf
|---authz(共享的权限配置文件)
|---passwd(共享的密码文件)
#=====SVN权限配置开始===== #分组:[groups] group_admin=wws,aaa,bbb group_user1=sj,ccc group_user2=sy,dd,eeee group_user3=lxt group_user4=ss
#设置对根(即SVN)目录下,所有版本库的访问权限 [/] *=r#所有登录用户默认权限为只读 @group_admin=rw
#可以分配给组,该组有读写权限 wws=rw#也可以像这样分配给指定用户 #以下将对各版本库的及其目录进行SVN权限配置分配 [jsyxv3:/]
#设置对jsyxv3版本库中,所有项目的访问权限 *=#未授权用户没有任何权限 @group_user1=rw [jsyxv3:/程序管理]
#设置对jsyxv3版本库中程序管理目录的访问权限 *=#未授权用户没有任何权限 @group_user2=rw [jsyxv3:/项目管理]
#设置对jsyxv3版本库中项目管理目录的访问权限 *=#未授权用户没有任何权限 @group_user3=rw [svntest:/]
#设置对svntest版本库中,所有项目的访问权限 *=#未授权用户没有任何权限 @group_user1=rw [svntest:/程序管理]
#设置对svntest版本库中程序管理目录的访问权限 *=#未授权用户没有任何权限 @group_user2=rw @group_user3=rw [svntest:/项目管理]
#设置对svntest版本库中项目管理目录的访问权限 *=#未授权用户没有任何权限 @group_user4=rw #=====SVN权限配置结束=====
4、SVN权限配置问题最后重要提示:
4.1启动的服务与客户端检出的关系:
4.1.1如果启动的服务指向一个具体的版本库,如红字部分描述: sccreateSVNServicebinpath="D:\Subversion\bin\svnserve.exe--service-rD:/SVN/svntest"displayname="SVNService"depend=Tcpipstart=auto 则客户端检出的地址应为:svn://192.168.0.1/
4.1.2如果启动的服务指向的是多个版本库的父目录,如红字部分描述: sccreateSVNServicebinpath="D:\Subversion\bin\svnserve.exe--service-rD:/SVN"displayname="SVNService"depend=Tcpipstart=auto 则客户端检出的地址应为:svn://192.168.0.1/svntest
4.2如果权限管理完成时,对各版本库还未完成导入工作,请记得使用对SVN目录有读写权限的用户身份进行操作,否则有可能会提示操作失败(因为权限不够)。关于
5.在开始命令中 - > 启动服务 net start svnservice 停止服务 net stop svnservice