svn server從svn+ssh訪問方式切換到svn訪問

根據客戶需求現在需要把SVN的訪問方式由原來的svn+ssh的方式變爲單獨的svn的方式,但是在切換的過程中遇到了幾個問題,先做一個歸納。

關於如何在linux下搭建這兩種方式的svn server,可以具體參考博文“Centos 下面搭建svn 服務”來搭建,


首先明確兩種方式的訪問原理,

svn:讀取倉庫下面的配置文件來達到成功訪問

svn+ssh:利用linux用戶,將其加入到svn組以達到成功訪問


問題一:配好了svn訪問方式之後,提示svn server拒絕訪問,

   1,檢查svn server是否啓動 (svnserver -d -r your-repository)

   2,配置svn server的時候,在配置文件svnserver.conf裏面可以註銷authz-db參數

   3, 由於svn+ssh方式走的不是svn默認的端口,按svn方式訪問的時候需要配置防火牆添加svn默認端口號3690

問題二:配好了svn訪問方式之後,舊的svn+ssh的方式還可以訪問:

   1,確保將linux用戶從svn組中剔除(gpasswd -d user group [gpasswd -a user group是將用戶user加入group組])

   在剔除之後去測試舊的svn+ssh的方式,居然還能正常訪問,後來新增一個svn 測試賬號(當然此處測試賬號還是linux賬號)在加入svn和沒有加入svn組的情況下分別測試,顯示是符合實際要求的,問題可能出在當前我使用的賬號上面。

   經過查找發現是因爲當前賬號james.liu對svn repository有ACL權限導致

   2,檢查svn repository的ACL 權限,看是否有linux賬號對其有ACL權限

1
2
3
4
5
6
7
8
......
# owner: svn
# group: svn
user::rwx
user:james.liu:rwx
group::rwx
mask::rwx
other::r-x

   刪除用戶james.liu的ACL權限

   setfacl -R -x u:james.liu svn-repository-path

最後發現並解決所有問題,一切達到預期效果


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章