SVN 创建版本库

使用svn命令创建资源库

  1. [root@centos6 ~]# svnadmin create /opt/svn/svntest
  2. [root@centos6 ~]# ll /opt/svn/svntest/
  3. total 24
  4. drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 conf
  5. drwxr-sr-x 6 root root 4096 2016/08/23 16:31:06 db
  6. -r--r--r-- 1 root root 2 2016/08/23 16:31:06 format
  7. drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 hooks
  8. drwxr-xr-x 2 root root 4096 2016/08/23 16:31:06 locks
  9. -rw-r--r-- 1 root root 229 2016/08/23 16:31:06 README.txt

进入/opt/svn/svntest/conf目录 修改默认配置文件配置,包括svnserve.conf、passwd、authz 配置相关用户和权限。

1、svn服务配置文件svnserve.conf

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

  1. [general]
  2. anon-access = none
  3. auth-access = write
  4. password-db = /home/svn/passwd
  5. authz-db = /home/svn/authz
  6. realm = tiku
  • anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 默认值:read

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

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

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

2、用户名口令文件passwd

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

[users]配置段的配置行格式如下:

  1. <用户名> = <口令>
  1. [users]
  2. admin = admin
  3. thinker = 123456

3、权限配置文件

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

[groups]配置段中配置行格式如下:

  1. <用户组> = <用户列表>

版本库路径权限段的段名格式如下:

  1. [<版本库名>:<路径>]
  1. [groups]
  2. g_admin = admin,thinker
  3.  
  4. [admintools:/]
  5. @g_admin = rw
  6. * =
  7.  
  8. [test:/home/thinker]
  9. thinker = rw
  10. * = r

本例是使用svnserve -d -r /opt/svn 以多库svnserve方式启动SVN,所以URL:svn://192.168.0.1/svntest