Apache下Subversion用戶權(quán)限配置經(jīng)典解析
上一節(jié)關(guān)于Subversion用戶權(quán)限配置我們了解到Subversion有兩種使用方式,本節(jié)還是針對(duì)Apache方式進(jìn)行介紹,主要包括Apache方式下的權(quán)限管理和分組管理,下面就這個(gè)問題來詳細(xì)說說吧。
Apache方式下的權(quán)限管理
Subversion用戶權(quán)限配置中,進(jìn)行Apache方式下的權(quán)限管理,首先我們要?jiǎng)?chuàng)建一個(gè)用戶robert。由于是第一次創(chuàng)建用戶,我們必須同時(shí)創(chuàng)建一個(gè)用戶口令文件:htpasswd-cauthfilerobert
這時(shí),會(huì)提示輸入用戶密碼以及確認(rèn)用戶密碼。htpasswd程序會(huì)將用戶密碼進(jìn)行散列運(yùn)算后保存在authfile中。創(chuàng)建第二個(gè)用戶時(shí),我們就不必輸入-c開關(guān)了。
htpasswdauthfileharry
如果想要?jiǎng)h除某個(gè)用戶,我們可以使用下列指令:htpasswd-Dauthfileharry,這樣,harry就被從authfile中刪除了。
這時(shí),Subversion的權(quán)限管理問題就轉(zhuǎn)化為了Apache的權(quán)限管理問
題了。我們將前述的目錄配置做一下修改:
- <Location/projectA>
- DAVsvn
- SVNPath/home/svn/projectA
- AuthTypeBasic
- AuthName"SubversionprojectA"
- AuthUserFile/home/svn/projectA/authfile
- Requirevalid-user
- < span>Location>
這樣,對(duì)projectA訪問就必須提供authfile中記錄的用戶和正確密碼才可以進(jìn)行了。
Apache方式下的分組管理
Subversion用戶權(quán)限配置中,進(jìn)行Apache方式下的分組管理,有時(shí)我們希望能夠?qū)⒍鄠€(gè)開發(fā)人員編為一組,使用組的方式來為項(xiàng)目設(shè)定權(quán)限。比如projectA項(xiàng)目只有屬于groupA的成員才可以存取。下面我們來介紹其配置方法。
這里,我們就要用到mod_authz_svn提供的功能了。我們對(duì)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>
大家可以注意到,這里使用了另一個(gè)配置文件:authz.conf他的大致結(jié)構(gòu)如下:
- [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,我想大家應(yīng)該已經(jīng)明白Subversion用戶權(quán)限配置了。:)
【編輯推薦】
- MyEclipse6.0集成SVN及配置詳解
- Subversion和TortoiseSVN如何在Windows下進(jìn)行構(gòu)建SVN版本控制
- 基于Java的svn客戶端工具JavaSVN 1.1.0.beta發(fā)布
- 七步搞定Subversion服務(wù)器在Ubuntu下的配置
- Subversion日期解析函數(shù)緩沖區(qū)溢出漏洞