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以及如何搭建多版本仓库.
相关文章推荐
- linux wc统计
- LINUX 使用tcgetattr函数与tcsetattr函数控制终端
- linux
- centOS中的配置文件,触摸板设置,写脚本
- linux逻辑卷管理
- Linux 基本命令总结
- 如何利用eclipse编译调试linux源码--以gnome-system-monitor 为例
- linux物理卷pv、卷组vg、逻辑卷lv、文件系统及关系
- centos7开机启动详解
- Linux 安装 jdk 环境
- Linux下crontab的使用
- 调度程序schedule()注释
- 中断与异常详解(五)
- 中断与异常详解(四)
- 中断与异常详解(三)
- 中断与异常详解(二)
- 中断与异常详解(一)
- 针对linux课本的一个程序,反映出来的问题(留有问题没解决)
- Linux 脚本 sh 和 ./ 的区别
- grep搜索子目录中包含某字符串的特定文件