Linux svn服務搭建和權限分配

安裝啓動

  1. 直接利用yum命令進行安裝。yum install subversion(CenterOS7)完成subversion的安裝。
yum install subversion
  1. 建立版本庫目錄svndata。
mkdir /svndata
svnserve -d -r /svndata         #啓動svn,設置版本庫目錄爲/svndata 
killall svnserve              #關閉svn
  1. 建立項目庫
svnadmin create /svndata/icancontrol-code
  1. 啓動svn
svnserve -d -r /svndata
  1. 上傳項目以及當代碼可以用還是用客戶端完成。
    在這裏插入圖片描述

配置及分配權限

進入 /svndata/icancontrol-code 目錄之後,你會看到裏邊有個“conf”文件夾,進入conf文件夾,ls一下,你會看到有三個文件authzpasswdsvnserve.conf三個配置文件,其中authz用來配置用戶訪問權限的,passwd用來配置用戶及密碼,svnserve.conf是對整個svnserve的進程進行配置的。
在這裏插入圖片描述

  1. svnserver.conf 配置

    vi工具打開svnserve.conf,找到“# password-db = passwd”,這一句是指定當前庫所對應的用戶配置文件的,我們需要把最前邊的“#”和空格刪掉;
    找到“# anon-access = none
    “# auth-access = write”這兩句,第一句是用來控制匿名訪問的,我們直接給它設置成none就好了,第二句用來控制經過驗證允許訪問庫的用戶的權限,這裏我們設置成write就可以,當然,也要把前邊的“#”和空格都刪掉;
    找到** # authz-db = authz**,這一句是用來指定當前庫對應的用戶權限配置文件的,我們把最前邊的“#”和空格都刪掉,這樣庫在運行的時候要根據authz這個配置文件去匹配用戶權限。
    到這裏,我們的所有配置文件都可以起到他們應有的作用了(需要重啓),
    在這裏插入圖片描述

  2. passwd 配置
    很簡單,在最後直接添加用戶就好,格式爲:“用戶名 = 密碼”,例如:“test_user = 12345”
    在這裏插入圖片描述

  3. 對於authz:(可不配置)
    [groups]的配置很容易理解,就是羣組。格式也比較簡單,即“group_name = user1,user2,user3”,如果有多個用戶,可以直接通過“,”的方式拼接就可以了,例如:

[groups]
## 項目經理
g_manager = liyongsheng
## 軟件組
g_software = xingzhaoyang,wanghuizhe  
## 硬件組
g_hardware = lidongdong 

: 以[repo:/]開頭的配置,上邊的[gourps]配置是用來劃分用戶分組的,那麼以[repo:/]開頭的配置就是用來具體的劃分用戶讀寫權限的了,其中repo是你的庫的名字,即上邊我們通過“svnadmin create /svndata/icancontrol-code”命令所創建的庫“icancontrol-code”,下邊我們直接用例子來說明它的使用方法:
對項目根目錄做限制,該目錄只允許經理才能修改,其他人都只能擁有讀的權限:

[cancontrol-code:/] 
@g_manager = rw
* = r

[cancontrol-code:/]” 表示這個目錄結構的相對根節點,或者說是 cancontrol-code 項目的根目錄。這裏的 “@” 表示接下來的是一個組名,不是用戶名。因爲目前 g_manager 組裏面只有一個 liyongsheng,你當然也可以將 “@g_manager = rw” 這一行替換成 “liyongsheng = rw” ,表達的意義完全一樣。
* = 表示除了上面提到的那些人之外的其餘所有人”,也就是“除了部門經理外的其他所有人”
“* = r” 則表示“那些人只能讀,不能寫”。
對於根目錄下邊的子目錄,其權限配置方式是相同的,是需要把地址指明就可以了,即[test:/folder1/folder2],這裏就不贅述了。

**注意:*配置中我們可能會遇到“ =”這樣的情況,他的目的是用來隔斷權限的繼承性。如果在某一級目錄的權限配置里加上這一句,則表明除了該配置中的用戶之外的其他用戶完全沒有這一級目錄的任何權利,既不可讀(看不到),更不可寫。
在這裏插入圖片描述
4. 生效
前面三個文件配置完成後

killall svnserve              #關閉svn
svnserve -d -r /svndata         #啓動svn,設置版本庫目錄爲/svndata 

配置就生效了

借鑑學長的博客: https://www.cnblogs.com/heinoc/p/3805779.html

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