预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

三、配置SVN服务器如果你对我们如何配置SVN的服务器,以及它的权限管理如何设置感兴趣,欢迎你阅读下面的部分,这里仅仅对第一节当中阐述的svn+ssh,且使用密钥对认证的方式进行说明。希望我们以后有更多的同学可以承担服务器的维护工作。这里我们假设你已经比较熟悉Linux上的一些基本操作,否则的话请去补习一下^_^1、创建独立的svn版本库属主,也就是前面提到过的svnowner。我们希望svnowner自己是一个独立的用户,同时也独立成组,这样可以避免不必要的外人干扰。以下的操作除非特别说明,均使用svnowner用户进行操作。2、以svnowner用户的身份创建版本库。首先使用umask027的方式设置掩码值,使得之后创建的文件和目录对本组用户只有读权限,组外用户无权限。如果考虑更严格的权限控制,可以使用umask077方式,仅允许svnowner用户自己访问,拒绝本组、组外用户的任何访问。接着用svnadmincreatepath_for_repository在path_for_repository路径上创建版本库。从便利和权限一致性的角度,建议把svn、svnserve、svnadmin、svnlook等svn工具改名为real_svnxxx,再创建svn等脚本程序,例如svn脚本可以这样编写:#!/bin/bashumask027/usr/bin/real_svn“$@”3、创建SSH公钥存放文件。在svnowner用户目录下创建.ssh目录,并在其下创建authorized_keys文件,目录和文件的都应当仅仅是本用户可读写的。将各用户发送给你的公钥添加到authorized_keys文件当中,注意:一行一个公钥,并在公钥前增加option字段,例如:command="/home/svnowner/svnserve-t-rpath_for_repository–tunnel-user=svnuser1",no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-ptyssh-rsa.......(RSAKeyhere)....user1上例当中,用户user1使用该密钥对认证之后将会执行/home/svnowner下的svnserve,显然这应当是一个包含设置umask的脚本,并且以path_for_repository作为版本库的根,svnserve运行于tunnel模式下,使用的svn用户名是svnuser1。再次提醒大家的是以上内容需要在authorized_keys里面一行内写完。4、现在可以在版本库里面设置具体的svnuser的权限了。进入之前所创建的path_for_repository目录,在其中有conf目录,是负责配置版本库的设置的。找到svnserve.conf文件,在其中去掉注释并修改的行有:anon-access=noneauth-access=writeauthz-db=authzrealm=XXXGroupRepository表明匿名用户无访问权限,认证用户可以具备写权限,版本库标识为“XXXGroupRepository”(此项可选),权限认证数据库是authz文件。于是再修改authz文件,示例:[groups]manager=svnuser1members=svnuser2,svnuser3[/]@manager=rw*=r[/src]@members=r@manager=rw*=[/src/arm7]svnuser2=rw@manager=rwsvnuser3=r*=[/src/arm9]svnuser3=rw@manager=rwsvnuser2=r*=[/shared]@members=rw以上示例的目的是将所有的目录置于manager可读写的方式,members用户可以对src目录具有可读权限,svnuser2和svnuser3分别对src/下的ARM7、ARM9目录具有读写权限,三个用户均可以对/shared目录进行读写。匿名用户(其他用户)只能对/shared目录进行读操作。注意:目录路径均以path_for_repository作为根目录,这一点需要牢记。SVN的一个明显的优点是可以针对单个目录具备独立的控制权限,这是比cvs更灵活的方面。并且,这也很适宜在团队这样的大范围内推广、且具有可控保密措施的实施方案。更详细的一个权限示例建议大家参考由“郑新星<zhengxinxing@gmail.com>”所写的《Subversion之路——实现精细的目录访问权限控制》。至此,Subversion服务器的搭建工作完毕,管理员的后续维护工作包括接受组内用户密钥对的更改、删除,为Subversion作定期备份等等。本文