CentOS SVN服務器管理多項目


一 需求

一般來說,公司有多個項目,在搭建好SVN服務器之后,就需要使用SVN來實現不在一個項目中的開發人員不能訪問其它項目中的代碼。

假設:

有3個項目:project1、project2、project3

開發人員有6個人:eg1、eg2、eg3、eg4、eg5、eg6

eg1、eg2,只能訪問project1;

eg3、eg4,只能訪問project2;

eg5、eg6,只能訪問project3;

二 實現

在倉庫根路徑下:假設是/home/svnroot

cd /home/svnroot

// 創建三個代碼倉庫 

svnadmin create project1
svnadmin create project2
svnadmin create project3

// 把兩個權限配置文件復制到 倉庫根路徑下,統一管理所有代碼倉庫

cd /projcet1/conf
cp authz passwd /home/svnroot

// 打開配置文件

vim 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 # 權限域名,很重要,寫你的項目名

修改兩個權限管理文件:

cd /home/svnroot
vim passwd

// 用戶名 = 密碼

[users]
eg1 = 123456 eg2 = 123456 eg3 = 123456 eg4 = 123456 eg5 = 123456 eg6 = 123456
vim 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/svnroot

// 停止命令

killall svnserve

四 實際測試

  1. 各個組成員只能訪問自己的項目,無權限查看別人的項目
  2. 只有管理員才能查看所有項目工程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM