Spring+SpringMVC+MyBatis+easyUI整合基础篇(十一)SVN服务器进阶

前言

上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建》简单的讲了一下SVN服务器的搭建,并没有详细的介绍配置文件及一些复杂的功能,所以本文算是对上一篇文章的补充。

项目实际效果展示在这里,账密:admin 123456 下载地址,点这里 github地址,在这里

配置文件详解

svnserve.conf

svn服务配置文件,做权限配置及基本的关联设置

[general]
anon-access = none #非授权用户无法访问

auth-access = write #授权用户有读写权限(设置为read时为只读) 

password-db = passwd #密码数据文件(此时为当前conf目录下的passwd文件,也可以设置为绝对路径,如'/opt/svnconf/passwd')

authz-db = authz    #权限设置文件(此时为当前conf目录下的authz文件,也可以设置为绝对路径,如'/opt/svnconf/authz',如果未指定路径,则无访问控制)

# 这两个选项用来指定加密强度的(自行设置)
# min-encryption = 0
# max-encryption = 256

passwd

用来设置用户名和密码的,格式为 用户名 = 密码

[users]
ssm1 = 123456(用户名ssm1密码为123456)
ssm2 = 567890

authz

用户权限配置

[ssm-demo:/]    #表示ssm-demo仓库下的所有文件
ssm1 = rw       #ssm1用户具有读写权限
ssm2 = r        #ssm2用户具有读权限
[ssm-demo:/code/trunk/aaa]    #表示ssm-demo仓库下的/code/trunk/aaa目录
ssm1 = r        #ssm1用户具有读权限
ssm2 = r        #ssm2用户具有读权限

权限设置

上面只是对authz文件做了简单的介绍及简单的用户权限配置,还有复杂的权限设置需要注意,比如有管理组admin及开发组A和开发组B,对应的开发项目为qq和weixin,这三组人员对应的项目权限肯定不一样,设置如下: 首先在passwd文件中设置全部人员

[users]
zhao = 123456(用户名ssm1密码为123456)
qian = 123456
sun = 567890
li = 123456
zhou = 123456
wu = 567890
zheng = 567890

然后在authz文件中设置权限

[group]             #设置分组(用户zheng未分组)
admin = zhao,qian   #管理员zhao和qian
group_a = sun,li    #A开发组sun和li
group_b = zhou,wu   #B开发组zhou和wu


[qq:/]              #表示qq项目仓库下的所有文件
@group_a = rw       #开发组A有读写权限
@admin=rw           #admin有读写权限 
* =                 #其他用户无权限(此时的其他用户就包括未分组的zheng及已经分组的group_b组中所有成员)

[weixin:/]          #表示weixin项目仓库下的所有文件
@group_b = rw       #开发组A有读写权限
@admin=rw           #admin有读写权限 
* =                 #其他用户无权限(此时的其他用户就包括未分组的zheng及已经分组的group_a组中所有成员)

补充

比如,qq项目下又有qq空间和qq邮箱,对这两个目录再进行权限分配

[group]                 #分组
admin = zhao,qian       #管理员zhao和qian
group_a = sun,li        #A开发组sun和li
group_b = zhou,wu       #B开发组zhou和wu
g_a_zone = ma           #新增qq空间组及成员ma
g_a_mail = zhang        #新增qq邮箱组及成员zhang


[qq:/zone]              #表示qq项目的qq空间目录
@g_a_zone = rw          #开发组g_a_zone有读写权限
@admin=rw               #admin有读写权限
@group_a = rw           #开发组A有读写权限 
* =                     #其他用户无权限

[qq:/mail]              #表示qq项目的mail空间目录
@g_a_mail = rw          #开发组g_a_mail有读写权限
@admin=rw               #admin有读写权限 
@group_b = rw           #开发组A有读写权限
* =                     #其他用户无权限

用户某个目录的权限是向子目录递归的。

多版本库

如果想两个项目分别进行开发,且拥有独立的开发人员,可以创建多个版本仓库,服务器中已经有ssm-demo仓库,我们再新建一个ssm-maven仓库。命令如下:

mkdir /opt/svn/ssm-maven
svnadmin create /opt/svn/ssm-maven

分别设置ssm-maven目录conf配置文件夹下的配置文件,重启svn服务即可,此时就有两个仓库了。

删除版本库

rm -rf ssm-demo #谨慎使用 rm -rf 命令

有问题可以留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux驱动

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) /dev/null  (为...

2417
来自专栏Java技术栈

Maven精选系列--依赖范围、传递、排除

今天讲讲如何管理依赖,及依赖的范围、传递性等特征。 添加依赖 下面我添加了一个spring-web的依赖,maven就会去下载spring-web的jar包及...

38612
来自专栏云计算教程系列

如何在CentOS 7上将ngx_pagespeed添加到Nginx

ngx_pagespeed,或者pagespeed,是一个Nginx模块,旨在通过精简资源的规模来缩短客户端浏览器加载它所需的时间,从而自动优化您的网站。如果您...

1980
来自专栏LIN_ZONE

ubuntu16.04中supervisor安装与简单使用(转载)

supervisor 可以将每个进程分别写成一个文件,supervisor 的进程文件放在 /etc/supervisor/conf.d/ 目录下,本例创建 t...

1144
来自专栏雨过天晴

原 荐 IntelliJ IDEA系列编辑器

3723
来自专栏电光石火

如何让nginx显示文件夹目录

vi /etc/nginx/conf.d/default.conf

21410
来自专栏Linux驱动

第4阶段——制作根文件系统之编译配置安装busybox(3)

在上一节分析出制作一个最小的根文件系统至少需要: (1)/dev/console(终端控制台, 提供标准输入、标准输出以及标准错误) /dev/null  (为...

2025
来自专栏不想当开发的产品不是好测试

性能测试 -- 实际例子

1、环境申请搭建,压测机器的申请; 2、压测场景设计和思考; 3、压测脚本的编写和修改; 4、压测开始,调试,开始正式压测; 5、压测结果分析,定位问题,重新压...

2375
来自专栏屈定‘s Blog

网站升级HTTPS与HTTP2记录

最近看到两篇文章对于HTTPS与HTTP2两者讲解的很详细,分享并实践一下,正好近期捣鼓了一个个人站点https://mrdear.cn/,可以用来实验. 文章...

6214
来自专栏IT笔记

Linux下安装 Python3

Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如cen...

1403

扫码关注云+社区

领取腾讯云代金券