首页 » 信息技术 »

svnserve的基本使用

2019年6月6日 / 16次阅读

  • 打开支付宝,搜索“ 529018372 ”,领取专属红包!每日支付每日领。

因工作需要,研究了一下svnserve的使用,在此做一点小小的总结,也供同学们参考。

环境:CentOS7

安装subversion

sudo yum install subversion

创建文件夹

sudo mkdir -p svn/repos/svntest

修改文件夹的权限,不能是root

sudo chown -R xinlin:xinlin svn

创建SVN仓库

repos这个路径里存放仓库,svntest就是第一个仓库

svnadmin create --fs-type fsfs /svn/repos/svntest

网上有人说fsfs的方式更好,具体细节不清楚。

启动svnserve

svnserve -d --listen-port 9999 --listen-host rnd.yourdomain.com -r /svn/repos --log-file /path/to/log.file

启动路径是/svn/repos,这不是一个仓库,而是存放所有仓库的路径。

因此,svn客户端在访问某个具体的仓库的时候,路径为:

svn://rnd.yourdomain.com:9999/svntest

注意这个细节!

SVN仓库的权限管理

svnserve的权限管理不复杂,而且修改了权限配置文件,不需要重启

从前面的一段操作就可以看出,svn的权限管控,是按仓库来分的,不同的仓库要配置不同的权限。

在仓库中,/svn/repos/svntest/conf这个路劲,只有三个文件:

[xinlin@promote conf]$ ll
total 12
-rw-r--r--. 1 xinlin xinlin 1146 Jun 6 16:00 authz
-rw-r--r--. 1 xinlin xinlin 296 Jun 6 15:55 passwd
-rw-r--r--. 1 xinlin xinlin 3083 Jun 6 16:01 svnserve.conf

svnserve.conf是总的配置,将下面几行注释掉即可:

anon-access = none  # 匿名用户不能访问
auth-access = write  # 认证用户可读可写,但具体读写权限,还要另外控制
password-db = passwd  # 用户名和密码存放在passwd文件中
authz-db = authz  # 配置用户的读写权限文件时authz

passwd这个文件很简单,就是 “用户名=密码” 这样的结构,像这样:

[xinlin@promote conf]$ cat passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
harry = 1234567
sally = 123456

authz这个文件稍微复杂一点点,[group]下面时分组,[svntest:/]下面时权限控制。

[xinlin@promote conf]$ cat authz
### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
### - a single user,
### - a group of users defined in a special [groups] section,
### - an alias defined in a special [aliases] section,
### - all authenticated users, using the '$authenticated' token,
### - only anonymous users, using the '$anonymous' token,
### - anyone, using the '*' wildcard.
###
### A match can be inverted by prefixing the rule with '~'. Rules can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
admin = harry
reader = sally
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar]
# harry = rw
# &joe = r
# * =

[svntest:/]
@admin = rw
@reader = r
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

以上配置,有两个组,admin和reader,这两个组里面都只有一个成员,一个组里面可以有多个成员。

组admin对于svntest这个仓库,有读写权限;

组reader对于svntest这个长裤,只有读的权限;

* = ,表示其它用户都没有权限。

用*来表示所有用户。
权限可以设置为w,r,wr和空,空表示没有任何权限。

也可以写用户,别名看不懂,不会用。

 

以上就是svnserve的基本使用。

本文链接:https://www.maixj.net/ict/svnserve-21608

相关文章

留言区

《svnserve的基本使用》有1条留言

  • 麦新杰

    用svn://方式与svnserve交互,除了密码是经过一种md5方式加密之外,其它数据都是明文。有两种方式在传输层面加密:(1)使用ssh tunnel;(2)使用https。貌似git就没有这样的问题。 []


前一篇:
后一篇:
推一篇:可靠正规,长期稳定,网络兼职项目!!

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top