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