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