天天看點

linux svn分組所有人可以通路,CentOS 6.4 SVN伺服器多個項目的權限分組管理

根據本文中的CentOS 6.4下的SVN伺服器建構 一文,搭建好SVN伺服器隻能管理一個工程,如何做到不同的項目,多個成員的權限管理配置設定呢?

一 需求

開發伺服器搭建好SVN伺服器,不可能隻管理一個工程項目,如何做到不在一個項目中的開發人員不能通路其它項目中的代碼,做好技術保密工作。

代碼倉庫有三個倉庫:project1,project2,project3

假設人員有6個人:eg1,eg2,eg3,eg4,eg5,eg6

eg1,eg2,隻能通路project1;

eg3,eg4,隻能通路project2;

eg5,eg6,隻能通路project3;

二 實作

在你的倉庫路徑下:假如是/home/sv

cd /home/svn

//建立三個代碼倉庫

svnadmin create project1

svnadmin create project2

svnadmin create project3

//把兩個權限配置檔案複制到SVN

//根路徑下,統一管理所有代碼倉庫

cd/projcet1/conf

cp authz passwd /home/svn

//打開配置檔案

vi svnserve.conf

修改成如下:

anon-access = none              //禁止匿名通路

auth-access = write

password-db = /home/svn/passwd  //統一使用密碼檔案

authz-db = /home/svn/authz

realm =  project1              //權限域名,很重要,寫你的工程名

分别修改project2的svnserve.conf

和上面一樣,最後一行分别寫

anon-access = none              //禁止匿名通路

auth-access = write

password-db = /home/svn/passwd  //統一使用密碼檔案

authz-db = /home/svn/authz

realm =  project2              //權限域名,很重要,寫你的工程名

分别修改project3的svnserve.conf

和上面一樣,最後一行分别寫

anon-access = none              //禁止匿名通路

auth-access = write

password-db = /home/svn/passwd  //統一使用密碼檔案

authz-db = /home/svn/authz

realm =  project3              //權限域名,很重要,寫你的工程名

修改兩個權限管理檔案:

passwd

//使用者名 = 密碼

[users]

eg1 = 123

eg2 = 123

eg3 = 123

eg4 = 123

eg5 = 123

eg6 = 123

authz

[groups]                  //分組

admin = eg1,eg2

guest = eg3,eg4

guset1 = eg5,eg6

[/]                      //管理者擁有所有讀寫權限

* =

@admin = rw

[project1:/]                //工程1的通路控制,guest1,2無法通路

@admin = rw

eg1 = rw

eg2 = rw

[project2:/]

@guest = rw

eg3 = rw

eg4 = rw

[project3:/]

@guest1 = rw

eg5 = rw

eg6 = rw

三 重新開機

svnserve -d -r /home/svn

停止指令

killall svnserve

實際測試:

各個組成員隻能通路自己的項目,無權限檢視别人的項目

隻有管理者才能檢視所有項目工程

推薦閱讀:

linux svn分組所有人可以通路,CentOS 6.4 SVN伺服器多個項目的權限分組管理