本文意在记录linux下svn使用中权限分配的一系列操作问题。
有关于svn的搭建打开可以找找相关的教程,安装后的一系列权限配置及账号密码分配,可以参照该文档配置。
svn实际使用操作
启动服务命令
/home/svn/warehouse/ 为实际的svn安装路径
sudo svnserve -d -r /home/svn/warehouse/
停止服务命令
killall svnserve
配置文件说明
权限控制文件和密码保存文件均在svn根路径下。
svn根路径为:/home/svn/warehouse
权限控制文件:/home/svn/warehouse/authz
密码保存和校验文件:/home/svn/warehouse/http_passwd
新建完整操作
新增仓库
svnadmin create /home/svn/warehouse/ebu1
建好后,对应目录下会有响应的文件
进入 conf 文件夹
修改svnserve.conf
1、注册或修改用户密码
htpasswd -bm /home/svn/warehouse/http_passwd zhangsan 123456
2、设置访问svn的权限
vi/home/svn/warehouse/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]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
#
pro=zhaoliu
#管理员
admin=admin,zhaoliu
#开发
dev=zhangsan,lisi
#管理部
xmglb=zhangsan1,lisi1
#一部
ebu1=zhangsan,lisi
#二部
ebu2=zhangsan,lisi
#三部
ebu3=zhangsan,lisi
#四部
ebu4=zhangsan,lisi
[/]
#* = r
@admin = rw
[dev:/]
@dev = rw
[pro:/]
@pro = rw
[xmglb:/]
@xmglb = rw
[ebu1:/]
@ebu1 = rw
[ebu2:/]
@ebu2 = rw
[ebu3:/]
@ebu3 = rw
[ebu4:/]
@ebu4 = rw
authz文件配置说明
###人员分组说明
#在对应的组中添加人员账号,组名和仓库名是一致的。
#管理员组的成员,查看所有仓库的权限。admin=admin,zhaoliu
#开发组的成员
dev=XXXX
以此类推各组的成员
组内的读写权限说明
[/] 表示全部路径
#* = r@admin = rw 表示管理员组有所有的读写权限
[dev:/] 表示对应的仓库路径为dev
@dev = rw 表示dev组的成员有dev仓库路径的读写权限
问题及处理
1、日志查看
查看日志路径:
查看对应的报错信息:
2、可以检出,提交时报错。
解决方法
sudo chown -R apache:apache /home/svn/warehouse/