centos6.4里SVN服务器多个项目的权限分组管理

分类:CentOS教程 阅读:11416 次

根据本博客中的cent OS 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 project1svnadmin create project2svnadmin create project3//把两个权限配置文件复制到SVN//根路径下,统一管理所有代码仓库cd/projcet1/confcp authz passwd /home/svn//打开配置文件vi svnserve.conf


修改成如下:


anon-access = none //禁止匿名访问auth-access = writepassword-db = /home/svn/passwd //统一使用密码文件authz-db = /home/svn/authzrealm = project1 //权限域名,很重要,写你的工程名

分别修改project2的svnserve.conf

和上面一样,最后一行分别写


anon-access = none //禁止匿名访问auth-access = writepassword-db = /home/svn/passwd //统一使用密码文件authz-db = /home/svn/authzrealm = project2 //权限域名,很重要,写你的工程名


分别修改project3的svnserve.conf

和上面一样,最后一行分别写


anon-access = none //禁止匿名访问auth-access = writepassword-db = /home/svn/passwd //统一使用密码文件authz-db = /home/svn/authzrealm = project3 //权限域名,很重要,写你的工程名


修改两个权限管理文件:

passwd


//用户名 = 密码[users]eg1 = 123eg2 = 123eg3 = 123eg4 = 123eg5 = 123eg6 = 123

authz


[groups] //分组admin = eg1,eg2guest = eg3,eg4guset1 = eg5,eg6[/] //管理者拥有所有读写权限* =@admin = rw[project1:/] //工程1的访问控制,guest1,2无法访问@admin = rw或eg1 = rweg2 = rw[project2:/] @guest = rw或eg3 = rweg4 = rw[project3:/]@guest1 = rw或eg5 = rweg6 = rw


三 重启


svnserve -d -r /home/svn

停止命令


killall svnserve

实际测试:

各个组成员只能访问自己的项目,无权限查看别人的项目

只有管理员才能查看所有项目工程