一、svn:// 、 svn+ssh:// 区别
1、模式
svn是客户端通过svn协议请求svn服务端,在svn服务端需要使用-d启动svn服务的守护进程模式
svn+ssh是客户端通过具有ssh协议解析功能的第三方程序与svn服务端的ssh端口建立起ssh协议隧道,通过向隧道发送svn命令、接收svn服务器数据实现客户端与服务端互联,该模式下svnserver不需要启用守护进程。
2、验证
svn通过本地password文件内容对客户端账号密码进行认证。
svn+ssh通过服务器端系统账户的秘钥对客户端进行认证、分配用户身份(svn账号)。
二、配置svn+ssh模式
1、创建系统用户
#groupadd svn
#useradd svn -g svn
2、配置svn库目录权限
# chown root.svn /path/to/svn/svn repos
# chmod g+rws /path/to/svn/svn repos
# chmod o-rws /path/to/svn/svn repos
三、配置用户登录权限
1、用户证书分配
# 略
2、为用户添加“登录”系统账号svn的权限
将一下两部分合并成1行添加到系统svn用户的.ssh/authorized_keys中:
1)command="/usr/bin/svnserve -t -r /var/svn-repos/ --tunnel-user=svnuser",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding
command="" #用户登录后执行的命令
/usr/bin/svnserve -t # 以隧道模式启动svnserver
-r /var/svn-repos/ # 指定svn库路径。
--tunnel-user=svnuser # 指定svn用户。
2)用户公钥字符串
AAAAB3xxxxxxxoix8Nh== linjianxing@fz-app12
例如:command="/usr/bin/svnserve -t -r /home/svn/svn-repos/sxzh --tunnel-user=svn",no-port-forwarding,no-pty,no-agent-forwarding,no-X11-forwarding ssh-rsa AAAAB3xxxxxxxoix8Nh== linjianxing@fz-
app12
四、配置用户访问权限
1、svn+ssh模式下的权限控制方法同svn模式一致。
参考链接:
[1]
[2] http://developer.51cto.com/art/201005/201086.htm
[3]
阅读(2740) | 评论(0) | 转发(0) |