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