centos 6.8 搭建svn服务器

一 需求

一般来说,公司有多个项目,在搭建好SVN服务器之后,就需要使用SVN来实现不在一个项目中的开发人员不能访问其它项目中的代码。

假设:

有2个项目:test,need

角色 产品 开发人员 测试

need项目 产品 读写操作 开发人员/测试 读操作

test项目 开发人员 读写操作测试 读操作


二 实现

在仓库根路径下:假设是/home/base/svn

cd /home/base/svn

创建项目

mkdir -p test
mkdir -p need

// 创建三个代码仓库 

svnadmin create test

svnadmin create need

// 把两个权限配置文件复制到 仓库根路径下,统一管理所有代码仓库

cd /home/base/svn/need/conf
cp authz passwd /home/base/svn/conf

// 打开配置文件

vim svnserve.conf

修改成如下:

anon-access = none   # 禁止匿名访问 
auth-access = write
password-db = /home/base/svn/conf/passwd   # 统一使用密码文件 
authz-db = /home/base/svn/conf/authz
realm =  /home/base/svn    # 权限域名,很重要,写你的项目名

分别修改 need 的 svnserve.conf,和上面一样,最后一行分别写 

anon-access = none    # 禁止匿名访问 
auth-access = write
password-db = /home/base/svn/conf/passwd
   # 统一使用密码文件 
authz-db = /home/base/svn/conf/authz

realm =  /home/base/svn # 权限域名,很重要,写你的项目名(填写启动的项目路径)

修改两个权限管理文件:

cd /home/base/svn/conf
vim passwd

// 用户名 = 密码

复制代码
[users]
product = 123456
test = 123456
develop = 123456
复制代码
vim authz
复制代码
[groups]         # 分组 
product= product
test = test
admin = admin
develop= develop
[/]    # 管理者拥有所有读写权限
@admin = rw 
* = 
[need:/]   # 项目1的访问控制,guest1,2无法访问 
product = rw 

[test:/]            
test = rw 
product = r 

复制代码

三 重启

svnserve -d -r /home/base/svn

// 停止命令

killall svnserve

四 实际测试

  1. 各个组成员只能访问自己的项目,无权限查看别人的项目
  2. 只有管理员才能查看所有项目工程

猜你喜欢

转载自blog.csdn.net/qq_24184997/article/details/79194334