共计 1993 个字符,预计需要花费 5 分钟才能阅读完成。
根据本文中的 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 中 Subversion 配置实例 http://www.linuxidc.com/Linux/2012-02/53109.htm
CentOS 6.2 SVN 搭建 (YUM 安装) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安装 SVN 并迁移 Virtual SVN 数据 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server 搭建 svn 服务以及迁移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm
借助网盘搭建 SVN 服务器 http://www.linuxidc.com/Linux/2013-10/91271.htm
更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14