zoukankan      html  css  js  c++  java
  • CentOS SVN服务器管理多项目

    一 需求

    一般来说,公司有多个项目,在搭建好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

    四 实际测试

    1. 各个组成员只能访问自己的项目,无权限查看别人的项目
    2. 只有管理员才能查看所有项目工程
  • 相关阅读:
    (Java随机数举例)随机扔一千次硬币的正反次数
    hibernate+spring的整合思路加实例(配图解)
    从零开始学C++之IO流类库(三):文件的读写、二进制文件的读写、文件随机读写
    ssh连接Linux自动断开后再也无法连上的问题
    面试题10:二进制中1的个数
    C 语言统计关键字出现次数
    在Eclipse中Attach Source
    Visual Sudio 2012转换界面风格
    java 判断字符串IP合法性以及获取IP的数值形式
    java.lang.string split 以点分割字符串无法正常拆分字符串
  • 原文地址:https://www.cnblogs.com/doseoer/p/9838563.html
Copyright © 2011-2022 走看看