早上看到一篇文章把VC(版本控制)讲的很好,狂神聊Git,SVN是集中式版本控制中心,git是分布式版本控制,Svn配置和使用;
安装svn
yum -y install subversion
输入svnserve --version 查看是否安装成功
创建版本库目录和版本库
mkdir -p /home/svn/svnrepos/ 递归创建目录
输入 svnadmin create /home/svn/svnrepos/svn-kp 创建版本库
成功后输入cd /home/svn/svnrepos/svn-kp 进入版本库
版本库内包含内容如下:
配置svn信息
输入cd conf
conf下有如下文件
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
vim authz 配置如下:
[/] 代表根目录下所有的资源,如果要限定资源,可以加上子目录即可
jxl为客户端账号
rw表示赋予此账号可读写的权限
vim passwd
vim svnserve.conf
配置信息解释如下:
-
#匿名访问的权限,可以是read,write,none,默认为read
-
-
anon-access=none
-
-
#使授权用户有写权限
-
-
auth-access=write
-
-
#密码数据库的路径
-
-
password-db=passwd
-
-
#访问控制文件
-
-
authz-db=authz
-
-
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
-
-
realm=/home/svn/svnrepos
开启默认3690端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload #重启防火墙
启动svn
svnserve -d -r /home/svn/svnrepos
客户端访问svn服务器
右键checkout,输入地址:svn://192.168.156.3:3690/svn-kp
重启命令
查找svn进程服务:ps -ef|grep svnserve
杀掉进程: kill -9 进程ID
配置文件详解
svnserve.conf文件:
该文件由一个[general]配置段组成。格式:<配置项>=<值>
配置项分为以下5项:
1:anon-access 控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
2:auth-access 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
3:password-db 指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:passwd
4:authz-db 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。缺省值:authz
5:realm 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
服务配置文件的内容如下:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svn/svnrepos
passwd文件:
该文件由一个[users]配置段组成,格式:<用户名>=<口令> 注:口令为未经过任何处理的明文
服务配置文件的内容如下:
[users]
zl= 123456
jxl= 123456
authz文件:
该文件由[groups]配置段和若干版本库路径权限段组成
[groups]配置段格式:<用户组>=<用户列表>
用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"
版本库路径权限段格式:
[<版本库名>:<路径>]如版本库svn-pk路径/jxl的版本库路径权限段的段名为"[svn-kp:/jxl]"。
可省略段名中的版本库名。若省略版本库名,则该版本库路径权限段对所有版本库中相同路径的访问控制都有效。如:[/jxl]
版本库路径权限段中配置行格式有如下三种:
<用户名> = <权限>
<用户组> = <权限>
* = <权限>
其中,"*"表示任何用户;权限的取值范围为''、'r'和'rw',''表示对该版本库路径无任何权限,'r'表示具有只读权限,'rw'表示有读写权限。
注意:每行配置只能配置单个用户或用户组。
[groups]
admin = zl
user = jxl
[svn-kp:/]
@admin = rw
[svn-kp:/jxl]
@user = rw
转载:https://blog.csdn.net/yezonggang/article/details/113582760