一 需求
一般来说,公司有多个项目,在搭建好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
四 实际测试
各个组成员只能访问自己的项目,无权限查看别人的项目
只有管理员才能查看所有项目工程
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
更新日志
- 文章.2004-被遗忘的时光【华博音乐】【WAV+CUE】
- 群星《青葱韶歌》原力计划·毕业季企划合辑[FLAC+分轨][661M]
- 群星《抖烧 DSD》抖音神曲 [WAV分轨][992M]
- 庾澄庆《哈林天堂》索尼音乐[WAV+CUE][1G]
- 英雄联盟全球总决赛多久打一次 全球总决赛举办频率介绍
- 第二届老头杯什么时候开始选人 第二届老头杯选人时间介绍
- 英雄联盟第二届老头杯什么时候开始 老头杯s2赛程时间队伍名单汇总
- AI赋能卓越显示技术共筑数字未来:三星显示器产品矩阵亮相2024进博会
- 技术剖析:天玑9400如何打造移动最强GPU和游戏体验?
- 顶级装备 实力登顶:三星显示器双十一焕新升级最后冲刺
- 陈影《绝色靓声》WAV+CUE
- 龚玥《禅是一枝花(6N纯银SQCD)》原抓WAV+CUE
- 刘德丽《寂寞在唱歌HQCD+A2HD5》[WAV+CUE]
- 萧亚轩《钻石糖》金牌大风[WAV+CUE][989M]
- 王菲《王菲精选-菲卖品》环球唱片SHM-SACD[ISO][1.9G]