共计 2098 个字符,预计需要花费 6 分钟才能阅读完成。
一 需求
一般来说,公司有多个项目,在搭建好 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
四 实际测试
- 各个组成员只能访问自己的项目,无权限查看别人的项目
- 只有管理员才能查看所有项目工程
Ubuntu 14.04 下搭建 SVN 服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS7.2 编译安装 SVN1.9.5 客户端 http://www.linuxidc.com/Linux/2017-03/141387.htm
SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
CentOS 6.6 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2016-12/137864.htm
CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
CentOS 6.8 搭建 SVN(版本控制系统)及 SVN 的使用 http://www.linuxidc.com/Linux/2017-04/143093.htm
Subversion (SVN) 的详细介绍 :请点这里
Subversion (SVN) 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143669.htm