svn简单构建随笔

网络参考:https://blog.csdn.net/meic51/article/details/17284487
https://www.linuxidc.com/Linux/2018-07/153024.htm

SVN如何管理多项目
SVN独立运行时的权限配置
完成SVN的快速配置后,版本库之间的权限变成了一个重要的问题!如果没有定义版本库的权 限,每个有权限的人都可以修改版本库,很容易造成混乱。
假设:

A项目:
A1 实际在用的版本库
A2 开发使用的版本库

B项目:
B1 实际在用的版本库
B2 开发使用的版本库

以其中的一个项目为例:
用户tom:可能读写A2,B2的版本库,只能看A1的版本库
用户jim:只能读A1,A2的版库,可以读写B1,B2的版本库

用户cheng:要能读写所有的版本库
(更多的权限,用户可以自行添加,本例只以cheng,tom,jim三个用户做测试)

实施的思路如何?

SVN_HOME
|project1 project2
| |
A1 A2 B1 B2

1、首先建立project1,project1这两个版本库
2、配置projectA,projectB认证及权限
3、配置cheng的权限
4、建立A1,A2,B1,B2的目录

5、建立相关的用户


具体操作:
安装SVN
yum install subversion -y
mkdir -p /opt/svn

代码库创建
svnadmin create /opt/svn/xyrj
svnadmin create /opt/svn/xx10
mkdir /opt/svn/conf

cp /opt/svn/xyrj/conf/{authz,passwd} /opt/svn/conf
ll /opt/svn/conf

rm -rf /opt/svn/{xyrj,xx10}/conf/{authz,passwd}


配置版本库的全局文件
# grep -Ev "^$|#|sasl" /opt/svn/xyrj/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = xyrj #--> 在认证时,会有该信息出来

# cat /opt/svn/xx10/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = xx10


建立密码文件:
# grep -v "^#" /opt/svn/conf/passwd
[users]
cheng = 123456
tom = 123456
jim = 123456

建立权限配置文件:
# grep -Ev "^$|#|alias" /opt/svn/conf/authz
[groups]
adm = cheng
user = tom,jim


[xyrj:/]
@adm = rw
* = r
[xyrj:/A1]
@adm = rw
tom = r
jim = r
[xyrj:/A2]
@adm = rw
jim = r
tom= rw


[xx10:/]
@adm = rw
* = r
[xx10:/B1]
@adm = rw
jim = rw
[xx10:/B2]
@adm = rw
@user = rw

启动svn(关于这个服务脚本,请http://myhat.blog.51cto.com/391263/787116)
(运行时,请指定SVN目录为/home/svn,脚本请根据SVN实际情况做修改,否则目录不正确的
话,会造成用户认证失败)
启动SVN服务
svnserve -d -r /opt/svn/
停止SVN
killall svnserve

linux客户端:
安装SVN
yum install subversion -y

选个目录做代码检索目录
mkdir /home/svntest

svn co svn://192.168.109.226/xyrj --username=cheng --password=123456
svn co svn://192.168.109.226/xx10 --username=cheng --password=123456

用cheng这个账户登入,新建了A1,A2,B1,B2,并且在windows下,客户端的权限已经生效了,

######两个版本库都OK了,现在我们用其他用户来试试!清除缓存
######rm -rf xyrj xx10

######svn co svn://192.168.109.226/xyrj --username=tom --password=123456
######svn co svn://192.168.109.226/xx10 --username=tom --password=123456

猜你喜欢

转载自www.cnblogs.com/NGames/p/12640039.html
今日推荐