版本库文件说明
svnadmin create 创建实际的版本库之后,版本库目录下文件如下:
conf # 核心配置文件,账号密码权限等配置db # 所有的版本控制的数据文件存放目录format # 文本文件,存放一个代表当前文件库配置的版本号整数hooks # 存放 hook文件的目录locks # 存放SVN锁README.txt
Svn server详细配置
Svn server配置由 conf下面的三个文件共同决定 svnserver.conf authz passwd
svnserver.conf
vim conf/svnserve.conf
[general]# 控制非鉴权用户访问版本库的权限 write/read/none ,默认readanon-access = read# 控制鉴权用户访问版本库的权限 write/read/none,默认writeauth-access = write# 指定用户密码的文件名,可以指定绝对路径,相对路径为conf/下password-db = passwd# 指定用户权限认证的文件名,可以指定绝对路径,相对路径为conf/下authz-db = authz# 版本库认证域# 如果两个版本库的认证域一样,建议使用相同的用户名和密码# 默认值为一个UUID(Universal Unique IDentifier 全局唯一标示)realm = My First Repository# force-username-case = none [sasl]# 是否开启SASL认证use-sasl = true# 指定加密强度min-encryption = 0 max-encryption = 256
authz
包括三个部分,别名和权限分组,以及具体的版本库分支权限 别名aliases others 分组group [groups] Groupname = username1, username2, username3, …, usernameN 版本库路径权限 格式: [<版本库名>:<路径>] <username> = <privilege> <@groupname> = <privilege>* = <privilege>说明: 1,Privilege取值为 ‘’, ‘r’, ‘rw’ 2,每一行只能单独配置一个用户或者用户组权限 3,如果省略<版本库名>则<路径>对 所有版本库中相同路径都有相同权限 4,注意这里groupname前面红色的 @ 是必须的,也是组区别于用户的标识 举例: [/jupei/public] Liuchao = rw @developers = rw * =
passwd
按照下面的格式配置用户对应的密码,建议密码采用12位长度符合一定复杂度的密码 [users] Username = passwd
多版本库实例
# svn 服务根目录mkdir /opt/svnreposcd /opt/svnrepos# SVN 多版本控制共享配置文件mkdir conf svnadmin create repos1 svnadmin create repos2# 删除各自的控制文件,新增共享配置rm –rf repos1/conf/passwd repos1/conf/authz repos2/conf/passwd repos2/conf/authz touch conf/passwd conf/authz# 配置各自svnserve.conf,只有 realm配置不一样
Svnserve.conf
Repos1:
[general] anon-access = none auth-access = write password-db = ../../conf/passwd authz-db = ../../conf/authz realm = My repos1
Repos2:
[general] anon-access = none auth-access = write password-db = ../../conf/passwd authz-db = ../../conf/authz realm = My repos2
conf/passwd
[users] Liuchao = lc123 Betty = bt123 James = jm123 Mark = mk123
conf/authz
[groups] admin = liuchao developers = betty, james# 除了admin分组有rw权限,别的用户对根’/’ 都没有权限# 也就是 admin 对根下所有版本库都有权限[/] *= @admin = rw# 版本库1[repos1:/]@developers = rw[repos1:/public] mark = rw# 版本库2[repos2:/] mark = rw
说明:
Admin组对所有版本库具有rw权限 Developers 组对版本库1 的根具有 rw权限 Mark用户对 版本库1的public具有rw ;对版本库2的根具有rw权限
作者:全栈运维
链接:https://www.jianshu.com/p/af49c4dc1b23