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. 只有管理员才能查看所有项目工程

转载于:https://www.cnblogs.com/doseoer/p/9838563.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值