[test:/] //這表示,倉(cāng)庫(kù)test的根目錄下的訪問(wèn)權(quán)限
User1 = rw //test倉(cāng)庫(kù)user1用戶具有讀和寫權(quán)限
User2 = r //test倉(cāng)庫(kù)user2用戶具有讀權(quán)限
[/] //這個(gè)表示在所有倉(cāng)庫(kù)的根目錄下
* = r //這個(gè)表示對(duì)所有的用戶都具有讀權(quán)限
#[groups] //這個(gè)表示群組設(shè)置
#svn1-developers = user1 //這個(gè)表示某群組里的成員
#svn2-developers = user1
刪除Subversion默認(rèn)安裝庫(kù)文件權(quán)限文件authz,passwd
# rm /home/svnroot/repository/test/conf/authz
# rm /home/svnroot/repository/test/conf/passwd
將這個(gè)設(shè)置完成后。重啟Apache,可以通過(guò)
http://localhost/svn/test
這個(gè)URL來(lái)訪問(wèn)倉(cāng)庫(kù)了,當(dāng)然,受權(quán)限的限制,必須是合法用戶才能訪問(wèn)且具有相應(yīng)的權(quán)限
四.一些備忘:
1. svn checkout http://localhost/svn/example
2. svn commit時(shí)的默認(rèn)編輯器的環(huán)境變量$SVN_EDITOR=vi需要手動(dòng)設(shè)定,用kate好像有問(wèn)題
3.如果linux的登錄用戶名密碼都和svn的其中一個(gè)用戶名密碼相同時(shí),在checkout的時(shí)候不會(huì)要求輸入用戶名密碼直接可以checkout出來(lái)。比如:linux有個(gè)用戶user1,svn也有一個(gè)用戶user1,并且密碼都是一樣的,當(dāng)用user1登錄linux后,執(zhí)行checkout,可以直接提取出源碼文件,不用輸入認(rèn)證信息。
4.在svn使用過(guò)程中牽扯到幾種權(quán)限:文件系統(tǒng)的權(quán)限,linux系統(tǒng)權(quán)限,svn用戶的權(quán)限,apache進(jìn)程的權(quán)限。
文件系統(tǒng)的權(quán)限,linux系統(tǒng)權(quán)限:這里相同的意思,是平時(shí)大家使用linux時(shí)文件夾和文件的訪問(wèn)權(quán)限。在svn建立倉(cāng)庫(kù),文件夾,配置文件的時(shí)候用svnroot用戶,并將倉(cāng)庫(kù)權(quán)限設(shè)置為700,不允許其他用戶直接通過(guò)文件系統(tǒng)查看,只能由svnroot進(jìn)行管理。
apache進(jìn)程的權(quán)限:因?yàn)樗懈鷤}(cāng)庫(kù)傳輸?shù)牟僮鞫际峭ㄟ^(guò)apache進(jìn)程進(jìn)行的,所以即使你給svn用戶設(shè)置了很大的權(quán)限,但是apache進(jìn)程沒(méi)有訪問(wèn)倉(cāng)庫(kù)或者相關(guān)文件的權(quán)限也沒(méi)有用,apache進(jìn)程的權(quán)限設(shè)置在/usr/local/apache/conf/httpd.conf文件中配置,找到文件中的這兩行:
User daemon #將daemon改為svnroot,讓apache進(jìn)程以svnroot的身份運(yùn)行
Group daemon
svn用戶的權(quán)限:是在repository/authz.conf文件中設(shè)置的權(quán)限信息,是svn用來(lái)管理倉(cāng)庫(kù)訪問(wèn)權(quán)限的。
5. svn服務(wù)器設(shè)置有兩種方式:http和svnserve。這里介紹的是http方法
6.在/etc/profile的結(jié)尾設(shè)置一些svn啟動(dòng)時(shí)要做的工作# start apache server for svn
/usr/sbin/apachectl start
export SVN_EDITOR=vi
7. APR libraries安裝SVN的時(shí)候好指定--with-apr=和--with-apr-util=參數(shù)到Apache安裝的根目錄
(ServerRoot)下,而不是使用缺省的SVN安裝包中自帶的apr。否則如果你安裝的Apache
版本不同有可能導(dǎo)致APR庫(kù)不匹配,出現(xiàn)類似:
Can't set position pointer in file '/svn/test/db/revs/1': Invalid argument的錯(cuò)誤。
Updated 2006-04-20 16:30 --比如說(shuō)如果你安裝的是apache 2.2.0版本,需要在編譯安裝svn的時(shí)候指定
--with-apxs和--with-apr參數(shù)到你的apache2.2.0安裝目錄下:
./configure --divfix=${subversionInstallFolder} /
--with-apxs=${apacheInstallFolder}/bin/apxs /
--with-apr=${apacheInstallFolder} /
--with-apr-util=${apacheInstallFolder} /
--with-ssl /
--with-zlib /
--enable-maintainer-mode