Apache下Subversion用戶權限配置經典解析
上一節關于Subversion用戶權限配置我們了解到Subversion有兩種使用方式,本節還是針對Apache方式進行介紹,主要包括Apache方式下的權限管理和分組管理,下面就這個問題來詳細說說吧。
Apache方式下的權限管理
Subversion用戶權限配置中,進行Apache方式下的權限管理,首先我們要創建一個用戶robert。由于是第一次創建用戶,我們必須同時創建一個用戶口令文件:htpasswd-cauthfilerobert
這時,會提示輸入用戶密碼以及確認用戶密碼。htpasswd程序會將用戶密碼進行散列運算后保存在authfile中。創建第二個用戶時,我們就不必輸入-c開關了。
htpasswdauthfileharry
如果想要刪除某個用戶,我們可以使用下列指令:htpasswd-Dauthfileharry,這樣,harry就被從authfile中刪除了。
這時,Subversion的權限管理問題就轉化為了Apache的權限管理問
題了。我們將前述的目錄配置做一下修改:
- <Location/projectA>
- DAVsvn
- SVNPath/home/svn/projectA
- AuthTypeBasic
- AuthName"SubversionprojectA"
- AuthUserFile/home/svn/projectA/authfile
- Requirevalid-user
- < span>Location>
這樣,對projectA訪問就必須提供authfile中記錄的用戶和正確密碼才可以進行了。
Apache方式下的分組管理
Subversion用戶權限配置中,進行Apache方式下的分組管理,有時我們希望能夠將多個開發人員編為一組,使用組的方式來為項目設定權限。比如projectA項目只有屬于groupA的成員才可以存取。下面我們來介紹其配置方法。
這里,我們就要用到mod_authz_svn提供的功能了。我們對httpd.conf中的目錄配置再做一次修改:
- <Location/projectA>
- DAVsvn
- SVNParentPath/home/svn/
- AuthzSVNAccessFile/home/svn/authz.conf
- AuthTypeBasic
- AuthName"SubversionprojectA"
- AuthUserFile/home/svn/projectA/authfile
- Requirevalid-user
- < span>Location>
大家可以注意到,這里使用了另一個配置文件:authz.conf他的大致結構如下:
- [groups]
- everyone=robert,tommy,songjy,zhengyong,orcus,zhangq
- groupA=robert,zhangq
- groupB=orcus,tommy
- [projectA:/]
- @groupA=rw
- @everyone=r
- [projectB:/]
- @everyone=r
- @groupB=rw
Ok,我想大家應該已經明白Subversion用戶權限配置了。:)
【編輯推薦】
- MyEclipse6.0集成SVN及配置詳解
- Subversion和TortoiseSVN如何在Windows下進行構建SVN版本控制
- 基于Java的svn客戶端工具JavaSVN 1.1.0.beta發布
- 七步搞定Subversion服務器在Ubuntu下的配置
- Subversion日期解析函數緩沖區溢出漏洞