您的位置:首页 > 运维架构 > Linux

svn在Linux环境下仓库的创建与权限访问

2015-10-30 11:03 417 查看

创建仓库

svn create 创建仓库

语法:svnadmin create /directory

我是在home/svnrepo下新建myproject仓库

cd /home
mkdir svnrepo
svnadmin create /home/svnrepo/myproject


仓库创建成功以后,会出现一个仓库名字的文件夹 文件夹下面有以下几个文件和目录
conf  db  format  hooks  locks  README.txt
其中conf文件夹下面包含三个重要文件 authz passwd svnserve.conf 

修改配置文件

增加用户 passwd

首先进入 conf文件下,
cd conf/
vi passwd

passwd的配置非常简单 语法格式: 用户名=密码
在打开的文件下新增用户如下图所示



修改svn启动项参数 svnserve.conf

svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。参考http://blog.sina.com.cn/s/blog_5542414f0100vw1l.html

[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,全局唯一标示)

vi svnserve.conf
修改配置如下图红色标注



配置用户权限 authz

参考:http://www.linuxfly.org/post/449/
注意:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]

<用户组名> = <用户1>,<用户2>

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。

repos1:/,表示对版本库1设置权限

repos2:/occi, ,表示对版本库2中的occi项目设置权限

repos2:/occi/aaa, ,表示对版本库2中的occi项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

vi authz


修改配置如下图红色标注



启动服务

语法:svnserve -d -r svn仓库目录

svnserve -d -r /home/svnrepo/myproject/


查看svn进程

ps -ef|grep svn

访问svn服务

使用svn客户端  输入地址  svn://ip/ 就可以访问成功,这里顺便介绍一下 因为在启动svn服务时指定的根目录是myproject 所以直接访问 svn://ip/就是到myproject仓库下 继续下去就是检出代码 新建trunk tag branch 等文件目录 提交到版本库就可以了.另外一点,svn提交之后的文件在仓库中是不可见的.

ps:本篇主要介绍了简单在linux上搭建svn服务器以及使用svn服务访问,后面还将会介绍使用http服务来访问svn以及如何搭建多版本仓库.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: