一 需求

一般来说,公司有多个项目,在搭建好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 =
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. 只有管理员才能查看所有项目工程

CentOS SVN服务器管理多项目的更多相关文章

  1. CentOS6.8 SVN服务器管理多项目

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

  2. Google免费的SVN服务器管理VS2010代码

    原文:Google免费的SVN服务器管理VS2010代码 前言 Google免费为我们提供了代码管理的SVN服务器.首先我这里用的Win7 64的电脑系统,用VS2010进行的代码开发.这里管理代码需 ...

  3. Windows Server - SVN 服务器搭建与项目配置、客户端安装与配置

    本教程以Windows Server 2012 R12 为例搭建SVN服务器,安装部署完成后,客户端可通过SVN客户端访问SVN服务器上的项目,也可以访问网上其他SVN服务器上的项目. 一.首先准备三 ...

  4. 使用自建Git服务器管理私有项目 Centos 7.3 + Git 2.11.0 + gitosis (实测 笔记)

    环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) 系统版本:CentOS-7-x86_64-Minimal-1611.iso GIT服务器IP:192.168.1 ...

  5. 如何在SVN服务器上创建项目

    1,首先你的电脑上安装了SVN的服务器 VisualSVN-Server-3.7.1-x64.msi 2,打开SVN服务器后,可以看到分布的目录是 Repositories.Users.Groups. ...

  6. centos svn服务器搭建

    1.安装svnyum install subversion查看安装目录rpm -ql subversion 查看yum安装subversion的位置 2.创建仓库创建版本库目录mkdir -p /va ...

  7. CentOS SVN 服务器搭建

    源码目录:/home/user/project 工程名:project 工程目录:/source/svn/project 访问地址:svn://ip/project 一. 安装svn yum inst ...

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

    1.创建两个代码仓库 cd /home/svn svnadmin create project1 svnadmin create project2 2. 复制 authz  passwd 两文件到SV ...

  9. centos svn 服务器间的数据迁移

    svnadmin dump erp > ~/erp.svn   当前目录下的erp 导出到根目录下名为erp.svn tar -zcvf backupSvn.tar.gz backupSvn   ...

随机推荐

  1. 伪类target实现纯css模态框

    今天看到一个纯css模态框,觉得是很牛呀 看了下用了target伪类, 一直不知道有这么神奇的伪类 .. 用法是这样的,给模态框一个id, <div id="pop" cla ...

  2. 【BZOJ5110】[CodePlus2017]Yazid 的新生舞会

    题解: 没笔的时候我想了一下 发现如果不是出现一半次数而是k次,并不太会做 然后我用前缀和写了一下发现就是维护一个不等式: 于是就可以随便维护了

  3. K8s创建pod yaml文件详解

    kubernetes创建pod的yaml文件,参数说明 apiVersion: v1 #指定api版本,此值必须在kubectl apiversion中 kind: Pod #指定创建资源的角色/类型 ...

  4. BZOJ2843 极地旅行社 LCT

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2843 题意概括 有n座岛 每座岛上的企鹅数量虽然会有所改变,但是始终在[0, 1000]之间.你的 ...

  5. centos6.8 yum安装mysql 5.6 (完整)

    一.检查系统是否安装其他版本的MYSQL数据 #yum list installed | grep mysql #yum -y remove mysql-libs.x86_64 二.安装及配置 # w ...

  6. muduo网络库架构总结

    目录 muduo网络库简介 muduo网络库模块组成 Recator反应器 EventLoop的两个组件 TimerQueue定时器 Eventfd Connector和Acceptor连接器和监听器 ...

  7. codeforces-1111

    https://www.cnblogs.com/31415926535x/p/10397007.html codeforces 537 div2 A 题意就是给你两个字符串,然后如果s,t的对应位上的 ...

  8. 程序猿(媛)的葵花宝典-- 必备idea 插件plugins 提高编码效率

    最近发现了几个非常好用   提高编码效率 的idea 插件 跟大家分享一下,,,不用谢我!!!!!!!!!!!!! 因为idea自带的插件下载可能连接不上服务器而导致插件下载失败,所以这里推荐使用引入 ...

  9. SQL 查询 技巧

    一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的 ...

  10. 获取AFP服务信息

    获取AFP服务信息   如果苹果系统开放TCP 548端口,说明其开启了AFP服务.这个时候,可以使用Nmap的afp-serverinfo脚本获取对应的服务信息.获取的信息包括服务名.机器类型.AF ...