版本庫文件說明
svnadmin create 創(chuàng)建實際的版本庫之后,版本庫目錄下文件如下:
conf # 核心配置文件主儡,賬號密碼權(quán)限等配置
db # 所有的版本控制的數(shù)據(jù)文件存放目錄
format # 文本文件奖唯,存放一個代表當前文件庫配置的版本號整數(shù)
hooks # 存放 hook文件的目錄
locks # 存放SVN鎖
README.txt
Svn server詳細配置
Svn server配置由 conf下面的三個文件共同決定 svnserver.conf authz passwd
svnserver.conf
vim conf/svnserve.conf
[general]
# 控制非鑒權(quán)用戶訪問版本庫的權(quán)限 write/read/none ,默認read
anon-access = read
# 控制鑒權(quán)用戶訪問版本庫的權(quán)限 write/read/none糜值,默認write
auth-access = write
# 指定用戶密碼的文件名丰捷,可以指定絕對路徑,相對路徑為conf/下
password-db = passwd
# 指定用戶權(quán)限認證的文件名寂汇,可以指定絕對路徑病往,相對路徑為conf/下
authz-db = authz
# 版本庫認證域
# 如果兩個版本庫的認證域一樣,建議使用相同的用戶名和密碼
# 默認值為一個UUID(Universal Unique IDentifier 全局唯一標示)
realm = My First Repository
#
force-username-case = none
[sasl]
# 是否開啟SASL認證
use-sasl = true
# 指定加密強度
min-encryption = 0
max-encryption = 256
authz
包括三個部分骄瓣,別名和權(quán)限分組停巷,以及具體的版本庫分支權(quán)限
別名aliases
others
分組group
[groups]
Groupname = username1, username2, username3, …, usernameN
版本庫路徑權(quán)限
格式:
[<版本庫名>:<路徑>]
<username> = <privilege>
<@groupname> = <privilege>
* = <privilege>
說明:
1,Privilege取值為 ‘’, ‘r’, ‘rw’
2榕栏,每一行只能單獨配置一個用戶或者用戶組權(quán)限
3畔勤,如果省略<版本庫名>則<路徑>對 所有版本庫中相同路徑都有相同權(quán)限
4,注意這里groupname前面紅色的 @ 是必須的扒磁,也是組區(qū)別于用戶的標識
舉例:
[/jupei/public]
Liuchao = rw
@developers = rw
* =
passwd
按照下面的格式配置用戶對應的密碼庆揪,建議密碼采用12位長度符合一定復雜度的密碼
[users]
Username = passwd
多版本庫實例
# svn 服務(wù)根目錄
mkdir /opt/svnrepos
cd /opt/svnrepos
# SVN 多版本控制共享配置文件
mkdir conf
svnadmin create repos1
svnadmin create repos2
# 刪除各自的控制文件,新增共享配置
rm –rf repos1/conf/passwd repos1/conf/authz repos2/conf/passwd repos2/conf/authz
touch conf/passwd conf/authz
# 配置各自svnserve.conf妨托,只有 realm配置不一樣
Svnserve.conf
Repos1:
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = My repos1
Repos2:
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = My repos2
conf/passwd
[users]
Liuchao = lc123
Betty = bt123
James = jm123
Mark = mk123
conf/authz
[groups]
admin = liuchao
developers = betty, james
# 除了admin分組有rw權(quán)限缸榛,別的用戶對根’/’ 都沒有權(quán)限
# 也就是 admin 對根下所有版本庫都有權(quán)限
[/]
*=
@admin = rw
# 版本庫1
[repos1:/]
@developers = rw
[repos1:/public]
mark = rw
# 版本庫2
[repos2:/]
mark = rw
說明:
Admin組對所有版本庫具有rw權(quán)限
Developers 組對版本庫1 的根具有 rw權(quán)限
Mark用戶對 版本庫1的public具有rw ;對版本庫2的根具有rw權(quán)限