svn http, user-password and access control
使用http protocol作為Subversion的URL,可利用apache的dav_svn module達成。
dav是distribution authorization and versioning,為http協定的一個擴充
AuthUserFile /etc/apache2/dav_svn.passwd所以:
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
- 要先準備好這兩個擋案,並依據.conf 的內容,擺在對應的路徑中
- user-passwd file的內容是用 htpasswd 操作的,add user、change password都要用htpasswd來作
- svn下各個目錄的存取權限就由dav_svn.authz設定,該檔案為純文字檔
htpasswd 'target .passwd file' user-name這裡'target.passwd file'就是/etc/apache2/dav_svn.passwd.
權限設定方式 :
意思是對 [/] 目錄的權限設定:[/]
* =
guest = r
svntest = rw
charles-chang = rw
* - 所有人 - 無法access
guest - 僅能讀取,無法修改
svntest, charles-chang 都是一般user,可以讀取、修改。
僅能讀取的user一樣可作check-out、add file等操作,但在commit時會出現error,svn log上也不會有該user的更動紀錄。當然,要用htpasswd把 guest, svntest, charles-chang都加到 user-passwd file 中