2019独角兽企业重金招聘Python工程师标准>>>

1、安装
#yum install subversion

判断是否安装成功
yum安装结束时会显示版本
svnserve, version 1.6.11 (r934486)
出现上面的提示,说明安装成功。

有了SVN软件后还需要建立SVN库。
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

2、配置

上面的操作很简单,几个命令就搞定, 下面的操作也不难。
进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf
其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, svnserve是设置svn相关的操作。

2.1先设置passwd

[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码

这样我们就建立了hello用户, 123密码
2.2 再设置权限authz

[/]
hello= rw

意思是hello用户对所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。

2.3最后设定snvserv.conf

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
好了,通过以上配置,你的svn就可以了。

3、连接

启动svn: svnserve -d -r /opt/svn/repos

如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/repos --listen-port 3391

这样同一台服务器可以运行多个svnserver

svnserver修改配置文件后可以立即生效,不需要重启服务。

好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://your server address (如果指定端口需要添加端口 :端口号)

连接后可以上传本地的文件,有效的管理你的代码。
svnserve是SVN自带的一个轻型服务器,客户端通过使用以svn://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问SVN版本库。

svnserve可以通过配置文件来设置用户和口令,以及按路径控制版本库访问权限。本文详细分析了svnserve配置文件格式,并说明如何使用配置文件控制版本库访问权限。

本文介绍SVN的版本为1.4.4。

1) svnserve配置文件概述

svnserve配置文件通常由以下3个文本文件组成:
svn服务配置文件,该文件版本库目录的conf目录下,文件名为svnserve.conf。
用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的passwd。
权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的authz。

2) svn服务配置文件

svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。

[general]配置段中配置行格式如下:
<配置项> = <值>

配置项分为以下5项:

anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:read

auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。
即"write"为可读可写,"read"为只读,"none"表示无访问权限。
缺省值:write

password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf
目录的相对路径。
缺省值:passwd

authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
除非指定绝对路径,否则文件位置为相对conf目录的相对路径。
缺省值:authz

realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的
认证域相同,建议使用相同的用户名口令数据文件。
缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。

【说明】版本库认证域
在使用svn客户端访问svnserve服务器时,若需要用户登录,则提示信息如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> 0d545a49-4038-0410-99b4-c66dc73f754e
Password for 'root':
在上述第2行"Authentication realm: <svn://192.168.3.45:3690>"之后显示的字符串为认证域名称。如果在配置文件中为设定认证域,就会提示一个UUID,如上述所示。
如果在配置文件中指定了如下配置项:
realm = test
将在svn客户端提示如下:
[root@test root]# svn list svn://192.168.3.45/test
Authentication realm: <svn://192.168.3.45:3690> test
Password for 'root':

例1:svn服务配置文件conf/svnserve.conf的内容如下:
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = test

上述配置文件设定非鉴权用户无权限访问该版本库;鉴权用户可对版本库进行读写;用户名口令文件为相对版本库conf目录的文件"../../conf /passwd";权限配置文件为相对版本库conf目录的文件"../../conf/authz";版本库的认证域为"test"。

3) 用户名口令文件

用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。

[users]配置段的配置行格式如下:
<用户名> = <口令>
注意:配置行中的口令为未经过任何处理的明文。

例2:用户名口令文件conf/passwd的内容如下:
[users]
admin = admin
thinker = 123456

该文件中配置了两个用户,用户名分别为"admin"和"thinker"。其中"admin"用户的口令为"admin";"thinker"用户的口令为"123456"。

4) 权限配置文件

权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。

[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"(如:引用用户组"all"要使用字符串"@all")。

版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
如版本库abc路径/tmp的版本库路径权限段的段名为"[abc:/tmp]"。
可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:段名为"[/tmp]"的版本库路径权限段设置了所有引用该权限配置文件的版本库中目录"/tmp"的访问权限。

版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>
* = <权限>
其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。
注意:每行配置只能配置单个用户或用户组。

例3:权限配置文件conf/authz的内容如下:
[groups]
g_admin = admin,thinker

[admintools:/]
@g_admin = rw
* =

[test:/home/thinker]
thinker = rw
* = r

在上述配置文件中,定义了一个用户组"g_admin",该用户组包含用户"admin"和"thinker"。然后定义了2个版本库路径权限段。 其中,版本库"admintools"只有用户组"g_admin"可读写,其他用户无任何权限;版本库"test"中路径"/home /thinker"只有用户"thinker"有读写权限,其他用户只有可读权限。

5) 总结

在本文中,详细介绍了svnserve程序的3个配置文件。SVN管理员可以通过这3个配置文件设置svnserve服务的用户名口令,以及对版本库路径的访问权限。这些配置文件保存后就立即生效,不需要重启svnserve服务。
需要强调的是本文介绍的配置文件只对svnserve服务有效,即客户端通过前缀为svn://或svn+ssh://的URL访问版本库有效,而对通过前缀http://、https://或file:///的URL无效。

转载于:https://my.oschina.net/u/273709/blog/79974

Centos搭建SVN服务器及配置文件相关推荐

  1. [记录]CentOS搭建SVN服务器(主从同步)

    CentOS搭建SVN服务器(主从同步) 1.安装步骤如下: 1)安装: #yum install subversion 2)查看安装位置: #rpm -ql subversion 3)查看版本: # ...

  2. centos 搭建 svn服务器

    最近在折腾vps,顺便把一些东西都熟悉一遍. 本文主要介绍SVN独立服务器的的安装和简单配置: 安装(CentOS下yum即可方便的完成安装) # yum install subversion 测试安 ...

  3. redhat/centos 搭建svn服务器环境

    subversion支持3种服务配置 1.apache + mod_dav_svn 2.svnserve 3.穿越ssh隧道的svnserve 教程选择的是最简单的svnserve的服务 1.安装sv ...

  4. CentOS 搭建svn服务器

    搭建SVN服务,有效的管理代码,以下三步可以快速搞定. 1.安装 #yum install subversion 判断是否安装成功 [root@]# svnserve --version svnser ...

  5. Ubuntu/CentOs 搭建SVN服务器

    安装 CentOS : yum install subversion Ubuntu: sudo apt-get install subversion 查看Subversion版本: 使用"s ...

  6. CentOS搭建SVN服务器

    前言 LZ用的是Cenos6.9 查看是否安装 rpm -ql subversion 安装 yum install subversion 查看安装位置 rpm -ql subversion 查看是否安 ...

  7. Linux(Centos)快速搭建SVN服务器

    2019独角兽企业重金招聘Python工程师标准>>> 一.SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统 ...

  8. linux 开放svn端口号,Linux(Centos)快速搭建SVN服务器

    一.SVN简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Su ...

  9. CentOS 下搭建svn服务器

    CentOS 下搭建svn服务器 安装SVN yum 安装 创建 svn 目录 svn 的目录结构 conf 中的设置[重点] 设置 authz 设置 passwd 设置 svnserve.conf ...

最新文章

  1. 【游戏开发备注之二】配置Xcode版本控制SVN详细步骤内含部分问题解决方案
  2. 替换index和show中select_tag的方法
  3. C/C++ 语言中的表达式求值
  4. [jQuery] jQuery和Zepto的区别?各自的使用场景?
  5. python实现二叉树的镜像
  6. MyCat分布式数据库集群架构工作笔记0007---Mycat登录
  7. 零基础学python图文版-如何快速创建投票页面 | 腾讯问卷怎么用_什么值得买
  8. 实话实说?基金公司“存量时代”的创新
  9. xp计算机如何查看内存大小,xp如何查看内存大小
  10. 如何免费下载网易云收费音乐?不需会员也能做到
  11. java语言的特点_Java语言有什么特点?
  12. 使用NoteExpress/Citespace/VOSviewer/EndNote进行CNKI文献计量分析
  13. 【笔记】下单但未支付的订单倒计时自动取消逻辑实现
  14. 程序员需要建立的对技术、业务、行业、管理、投资的认知
  15. CS5213 HDMI转VGA带音频DAC输出|HDMI to VGA withDAC转换
  16. 乘云远航|共赢新征程,打造数字化供应链竞争力!
  17. 糗事百科李威: 如何基于数据构建推荐系统,助力精细化运营?
  18. java转大数据方向如何走?
  19. 机器人巨头争霸,谁主沉浮?
  20. 教育网站通用登录页面html前端源码

热门文章

  1. 计算机二级vb2003年4月考试题,2003年4月全国计算机等级考试二级vb笔试真题附答案...
  2. 自定义日历控android,Android 一个日历控件的实现小记
  3. 32汇编语言程序说明_Linux 汇编语言学习--编译和链接
  4. codeforce No to Palindromes!(枚举)
  5. python中代理模式分为几种_通俗 Python 设计模式——代理模式
  6. linux输入ls后不显示_零基础学习之Linux基础命令小结
  7. android webview 长按复制,Android webview 点击或长按有蒙层 – 热爱改变生活
  8. (2021) 22 [持久化] 1-Bit的存储
  9. mocha 测试 mysql_node项目mocha自动化测试的疑问
  10. Linux下netstat常用,Linux netstat常用命令