Subversion权限配置

svnadmin create命令创建repository的目录结构如下:

├── conf                  
│   ├── authz           #权限配置文件
│   ├── passwd          #用户配置文件
│   └── svnserve.conf   #服务进程的配置
├── db                  #版本数据存储目录
├── format              #存储一个整数的文件,此整数代表库层次结构版本
├── hooks               #存放版本库勾子目录
├── locks               #存储库锁目录,用来跟踪库的访问者
└── README.txt

添加用户

vim passwd
[users]
# harry = harryssecret
# sally = sallyssecret
xiaoguo1 = 123456
xiaoguo2 = 123456
xiaoguo3 = 123456

左边username,右边password,明文

权限配置

vim authz
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
g_test = xiaoguo1,xiaoguo2  #分配用户组

# [/foo/bar] #不指定代码仓的名称即代表所有代码仓都适用,因此可以作为多个代码仓的配置
# harry = rw
# &joe = r
# * =
[repository:/]
#这里的repository指代码仓名称,/指代码目录的根
@g_test = rw #@指用户组,rw指权限read和write
xiaoguo3 = r
* =  #*代表其他用户,空代表没有权限

# [repository:/baz/fuz] #这里指定代码仓的权限到项目的子目录
# @harry_and_sally = rw
# * = r
[repository:/Application/Home] #指定名为repository代码仓,目录Application/Home的权限设置
xiaoguo3 = rw #用户xiaoguo3可读写
@g_test = r #用户组g_test只读
* =  #其他人无权限

编辑服务进程配置

vim svnserve.conf
anon-access = none #禁止匿名访问
auth-access = write #允许有authz的用户访问
authz-db = authz.conf #打开权限配置,并输入权限配置的路径
password-db = passwd  #打开用户配置,并输入用户的路径

当然,也可以使用其他配置文件。因此,auth.conf的权限配置可以很灵活,应用到多个项目中,这样让多个代码库共享同一个用户密码、目录控制配置文件。

# 其他路径的配置文件
#authz-db = ../../authz.conf
#password-db = ../../passwd

注意:去掉注释后,所有设置都要去掉前置空格

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注