<h1>日常啰嗦</h1>
上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基礎(chǔ)篇(十)SVN搭建》簡(jiǎn)單的講了一下SVN服務(wù)器的搭建,并沒(méi)有詳細(xì)的介紹配置文件及一些復(fù)雜的功能,所以本文算是對(duì)上一篇文章的補(bǔ)充。
項(xiàng)目實(shí)際效果展示在這里,賬密:admin 123456
下載地址,點(diǎn)這里
github地址,在這里
<h1>配置文件詳解</h1>
<h4>svnserve.conf</h4>
svn服務(wù)配置文件,做權(quán)限配置及基本的關(guān)聯(lián)設(shè)置
[general]
anon-access = none #非授權(quán)用戶無(wú)法訪問(wèn)
auth-access = write #授權(quán)用戶有讀寫(xiě)權(quán)限(設(shè)置為read時(shí)為只讀)
password-db = passwd #密碼數(shù)據(jù)文件(此時(shí)為當(dāng)前conf目錄下的passwd文件,也可以設(shè)置為絕對(duì)路徑,如'/opt/svnconf/passwd')
authz-db = authz #權(quán)限設(shè)置文件(此時(shí)為當(dāng)前conf目錄下的authz文件,也可以設(shè)置為絕對(duì)路徑,如'/opt/svnconf/authz',如果未指定路徑,則無(wú)訪問(wèn)控制)
# 這兩個(gè)選項(xiàng)用來(lái)指定加密強(qiáng)度的(自行設(shè)置)
# min-encryption = 0
# max-encryption = 256
<h4>passwd</h4>
用來(lái)設(shè)置用戶名和密碼的,格式為 用戶名 = 密碼
[users]
ssm1 = 123456(用戶名ssm1密碼為123456)
ssm2 = 567890
<h4>authz</h4>
用戶權(quán)限配置
[ssm-demo:/] #表示ssm-demo倉(cāng)庫(kù)下的所有文件
ssm1 = rw #ssm1用戶具有讀寫(xiě)權(quán)限
ssm2 = r #ssm2用戶具有讀權(quán)限
[ssm-demo:/code/trunk/aaa] #表示ssm-demo倉(cāng)庫(kù)下的/code/trunk/aaa目錄
ssm1 = r #ssm1用戶具有讀權(quán)限
ssm2 = r #ssm2用戶具有讀權(quán)限
<h1>權(quán)限設(shè)置</h1>
上面只是對(duì)authz文件做了簡(jiǎn)單的介紹及簡(jiǎn)單的用戶權(quán)限配置,還有復(fù)雜的權(quán)限設(shè)置需要注意,比如有管理組admin及開(kāi)發(fā)組A和開(kāi)發(fā)組B,對(duì)應(yīng)的開(kāi)發(fā)項(xiàng)目為qq和weixin,這三組人員對(duì)應(yīng)的項(xiàng)目權(quán)限肯定不一樣,設(shè)置如下:
首先在passwd文件中設(shè)置全部人員
[users]
zhao = 123456(用戶名ssm1密碼為123456)
qian = 123456
sun = 567890
li = 123456
zhou = 123456
wu = 567890
zheng = 567890
然后在authz文件中設(shè)置權(quán)限
[group] #設(shè)置分組(用戶zheng未分組)
admin = zhao,qian #管理員zhao和qian
group_a = sun,li #A開(kāi)發(fā)組sun和li
group_b = zhou,wu #B開(kāi)發(fā)組zhou和wu
[qq:/] #表示qq項(xiàng)目倉(cāng)庫(kù)下的所有文件
@group_a = rw #開(kāi)發(fā)組A有讀寫(xiě)權(quán)限
@admin=rw #admin有讀寫(xiě)權(quán)限
* = #其他用戶無(wú)權(quán)限(此時(shí)的其他用戶就包括未分組的zheng及已經(jīng)分組的group_b組中所有成員)
[weixin:/] #表示weixin項(xiàng)目倉(cāng)庫(kù)下的所有文件
@group_b = rw #開(kāi)發(fā)組A有讀寫(xiě)權(quán)限
@admin=rw #admin有讀寫(xiě)權(quán)限
* = #其他用戶無(wú)權(quán)限(此時(shí)的其他用戶就包括未分組的zheng及已經(jīng)分組的group_a組中所有成員)
補(bǔ)充
比如,qq項(xiàng)目下又有qq空間和qq郵箱,對(duì)這兩個(gè)目錄再進(jìn)行權(quán)限分配
[group] #分組
admin = zhao,qian #管理員zhao和qian
group_a = sun,li #A開(kāi)發(fā)組sun和li
group_b = zhou,wu #B開(kāi)發(fā)組zhou和wu
g_a_zone = ma #新增qq空間組及成員ma
g_a_mail = zhang #新增qq郵箱組及成員zhang
[qq:/zone] #表示qq項(xiàng)目的qq空間目錄
@g_a_zone = rw #開(kāi)發(fā)組g_a_zone有讀寫(xiě)權(quán)限
@admin=rw #admin有讀寫(xiě)權(quán)限
@group_a = rw #開(kāi)發(fā)組A有讀寫(xiě)權(quán)限
* = #其他用戶無(wú)權(quán)限
[qq:/mail] #表示qq項(xiàng)目的mail空間目錄
@g_a_mail = rw #開(kāi)發(fā)組g_a_mail有讀寫(xiě)權(quán)限
@admin=rw #admin有讀寫(xiě)權(quán)限
@group_b = rw #開(kāi)發(fā)組A有讀寫(xiě)權(quán)限
* = #其他用戶無(wú)權(quán)限
用戶某個(gè)目錄的權(quán)限是向子目錄遞歸的。
<h1>多版本庫(kù)</h1>
如果想兩個(gè)項(xiàng)目分別進(jìn)行開(kāi)發(fā),且擁有獨(dú)立的開(kāi)發(fā)人員,可以創(chuàng)建多個(gè)版本倉(cāng)庫(kù),服務(wù)器中已經(jīng)有ssm-demo倉(cāng)庫(kù),我們?cè)傩陆ㄒ粋€(gè)ssm-maven倉(cāng)庫(kù)。命令如下:
mkdir /opt/svn/ssm-maven
svnadmin create /opt/svn/ssm-maven
分別設(shè)置ssm-maven目錄conf配置文件夾下的配置文件,重啟svn服務(wù)即可,此時(shí)就有兩個(gè)倉(cāng)庫(kù)了。
<h1>刪除版本庫(kù)</h1>
rm -rf ssm-demo #謹(jǐn)慎使用 rm -rf 命令
有問(wèn)題可以留言。