Centos搭建SVN服务器及配置文件
2019獨角獸企業重金招聘Python工程師標準>>>
1、安裝
#yum install subversion
判斷是否安裝成功
yum安裝結束時會顯示版本
svnserve, version 1.6.11 (r934486)
出現上面的提示,說明安裝成功。
?
有了SVN軟件后還需要建立SVN庫。
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos
執行上面的命令后,自動在repos下建立多個文件, 分別是conf, db,format,hooks, locks, README.txt。
2、配置
上面的操作很簡單,幾個命令就搞定, 下面的操作也不難。
進入上面生成的文件夾conf下,進行配置, 有以下幾個文件authz, passwd, svnserve.conf
其中authz 是權限控制,可以設置哪些用戶可以訪問哪些目錄, passwd是設置用戶和密碼的, svnserve是設置svn相關的操作。
2.1先設置passwd
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用戶名=密碼
這樣我們就建立了hello用戶, 123密碼
2.2 再設置權限authz
[/]
hello= rw
意思是hello用戶對所有的目錄有讀寫權限,當然也可以限定。
如果是自己用,就直接是讀寫吧。
2.3最后設定snvserv.conf
anon-access = none # 使非授權用戶無法訪問
auth-access = write # 使授權用戶有寫權限
password-db = passwd
authz-db = authz # 訪問控制文件
realm = /opt/svn/repos # 認證命名空間,subversion會在認證提示里顯示,并且作為憑證緩存的關鍵字。
采用默認配置. 以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.
好了,通過以上配置,你的svn就可以了。
3、連接
啟動svn: svnserve -d -r /opt/svn/repos
如果已經有svn在運行,可以換一個端口運行
svnserve -d -r /opt/svn/repos --listen-port 3391
這樣同一臺服務器可以運行多個svnserver
svnserver修改配置文件后可以立即生效,不需要重啟服務。
好了,啟動成功后,就可以使用了。
建議采用TortoiseSVN, 連接地址為: svn://your server address (如果指定端口需要添加端口 :端口號)
連接后可以上傳本地的文件,有效的管理你的代碼。
svnserve是SVN自帶的一個輕型服務器,客戶端通過使用以svn://或svn+ssh://為前綴的URL來訪問svnserve服務器,實現遠程訪問SVN版本庫。
svnserve可以通過配置文件來設置用戶和口令,以及按路徑控制版本庫訪問權限。本文詳細分析了svnserve配置文件格式,并說明如何使用配置文件控制版本庫訪問權限。
本文介紹SVN的版本為1.4.4。
1) svnserve配置文件概述
svnserve配置文件通常由以下3個文本文件組成:
svn服務配置文件,該文件版本庫目錄的conf目錄下,文件名為svnserve.conf。
用戶名口令文件,該文件名在文件svnserve.conf中指定,缺省為同目錄下的passwd。
權限配置文件,該文件名也在文件svnserve.conf中指定,缺省為同目錄下的authz。
2) svn服務配置文件
svn服務配置文件為版本庫目錄中的文件conf/svnserve.conf。該文件僅由一個[general]配置段組成。
[general]配置段中配置行格式如下:
<配置項> = <值>
配置項分為以下5項:
anon-access 控制非鑒權用戶訪問版本庫的權限。取值范圍為"write"、"read"和"none"。
即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。
缺省值:read
auth-access 控制鑒權用戶訪問版本庫的權限。取值范圍為"write"、"read"和"none"。
即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。
缺省值:write
password-db 指定用戶名口令文件名。除非指定絕對路徑,否則文件位置為相對conf
目錄的相對路徑。
缺省值:passwd
authz-db 指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。
除非指定絕對路徑,否則文件位置為相對conf目錄的相對路徑。
缺省值:authz
realm 指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的
認證域相同,建議使用相同的用戶名口令數據文件。
缺省值:一個UUID(Universal Unique IDentifier,全局唯一標示)。
【說明】版本庫認證域
在使用svn客戶端訪問svnserve服務器時,若需要用戶登錄,則提示信息如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> 0d545a49-4038-0410-99b4-c66dc73f754e
Password for 'root':
在上述第2行"Authentication realm: <svn://192.168.3.45:3690>"之后顯示的字符串為認證域名稱。如果在配置文件中為設定認證域,就會提示一個UUID,如上述所示。
如果在配置文件中指定了如下配置項:
realm = test
將在svn客戶端提示如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> test
Password for 'root':
例1:svn服務配置文件conf/svnserve.conf的內容如下:
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = test
上述配置文件設定非鑒權用戶無權限訪問該版本庫;鑒權用戶可對版本庫進行讀寫;用戶名口令文件為相對版本庫conf目錄的文件"../../conf /passwd";權限配置文件為相對版本庫conf目錄的文件"../../conf/authz";版本庫的認證域為"test"。
3) 用戶名口令文件
用戶名口令文件由svnserve.conf的配置項password-db指定,缺省為conf目錄中的passwd。該文件僅由一個[users]配置段組成。
[users]配置段的配置行格式如下:
<用戶名> = <口令>
注意:配置行中的口令為未經過任何處理的明文。
例2:用戶名口令文件conf/passwd的內容如下:
[users]
admin = admin
thinker = 123456
該文件中配置了兩個用戶,用戶名分別為"admin"和"thinker"。其中"admin"用戶的口令為"admin";"thinker"用戶的口令為"123456"。
4) 權限配置文件
權限配置文件由svnserve.conf的配置項authz-db指定,缺省為conf目錄中的authz。該配置文件由一個[groups]配置段和若干個版本庫路徑權限段組成。
[groups]配置段中配置行格式如下:
<用戶組> = <用戶列表>
用戶列表由若干個用戶組或用戶名構成,用戶組或用戶名之間用逗號","分隔,引用用戶組時要使用前綴"@"(如:引用用戶組"all"要使用字符串"@all")。
版本庫路徑權限段的段名格式如下:
[<版本庫名>:<路徑>]
如版本庫abc路徑/tmp的版本庫路徑權限段的段名為"[abc:/tmp]"。
可省略段名中的版本庫名。若省略版本庫名,則該版本庫路徑權限段對所有版本庫中相同路徑的訪問控制都有效。如:段名為"[/tmp]"的版本庫路徑權限段設置了所有引用該權限配置文件的版本庫中目錄"/tmp"的訪問權限。
版本庫路徑權限段中配置行格式有如下三種:
<用戶名> = <權限>
<用戶組> = <權限>
* = <權限>
其中,"*"表示任何用戶;權限的取值范圍為''、'r'和'rw',''表示對該版本庫路徑無任何權限,'r'表示具有只讀權限,'rw'表示有讀寫權限。
注意:每行配置只能配置單個用戶或用戶組。
例3:權限配置文件conf/authz的內容如下:
[groups]
g_admin = admin,thinker
[admintools:/]
@g_admin = rw
* =
[test:/home/thinker]
thinker = rw
* = r
在上述配置文件中,定義了一個用戶組"g_admin",該用戶組包含用戶"admin"和"thinker"。然后定義了2個版本庫路徑權限段。 其中,版本庫"admintools"只有用戶組"g_admin"可讀寫,其他用戶無任何權限;版本庫"test"中路徑"/home /thinker"只有用戶"thinker"有讀寫權限,其他用戶只有可讀權限。
5) 總結
在本文中,詳細介紹了svnserve程序的3個配置文件。SVN管理員可以通過這3個配置文件設置svnserve服務的用戶名口令,以及對版本庫路徑的訪問權限。這些配置文件保存后就立即生效,不需要重啟svnserve服務。
需要強調的是本文介紹的配置文件只對svnserve服務有效,即客戶端通過前綴為svn://或svn+ssh://的URL訪問版本庫有效,而對通過前綴http://、https://或file:///的URL無效。
?
轉載于:https://my.oschina.net/u/273709/blog/79974
總結
以上是生活随笔為你收集整理的Centos搭建SVN服务器及配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java(安全方便的从控制台读入数据)[
- 下一篇: yii框架cookie写入与读取方法