创建版本库
svnadmin create path
为svnusers用户组赋予权限
chown -R root:svnusers path
chmod -R g+rws path /*给svnusers组赋予读写权限,可以根据需要更改相应权限*/
chmod -R o-rwx path /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/
为svn用户生成密匙
切换到用户环境下:
su 用户
生成密匙对:
ssh-keygen -b 1024 -t rsa -N passwd -f keyname
其中,passwd为密钥关键字(相当于密码),由用户自定义;keyname为密钥文件名
生成之后会产生两个文件,keyname和keyname.pub
其中前者为密钥,后者为公钥
rsa指定使用rsa进行加密,如果该成dsa,则使用dsa加密
在用户home目录创建.ssh目录,把公钥拷贝并重命名成authorized_keys到该目录下:
cp keyname.pub /home/username/ .ssh/authorized_keys
将私钥交给用户使用
更改资源访问权限
修改 版本库/conf/svnserve.conf文件,在general中加入以下几行
anon-access = none // 未认证的用户没有任何访问权限
auth-access = write // 认证的用户有写权限
authz-db = authz // 认证文件为conf目录下的authz文件
修改 版本库/conf/authz文件(如果没有则创建),在其中加入:
[/] //访问权限为本资源的根目录(以及以下目录)
username = rw //用户的访问权限为“读+写”
还可以采用以下方法进行认证:
[groups]
svn = fify,sim // 定义用户组svn包含两个用户:fify和sim
[/]
@svn = rw // svn用户组的成员访问权限为“读+写”
客户端链接方法:
生成PuTTY密钥:
将username文件(密钥)拷贝到windows中,打开puttygen.exe文件,选择菜单:conversions->Import key,选择username文件,输入之前设定的passphrase,此时可以看到该密钥的一些信息
点击Save private key,生成ppk文件(假设保存为username.ppk文件),即PuTTY使用的密钥
设置TortoiseSVN登录方式:
在即将要存储svn文件的目录中(空白处)点击右键,选择TortoiseSVN->Settings->Network->SSH client,输入:C:/Program Files/TortoiseSVN/bin/TortoisePlink.exe
开启pageant:
打开pageant.exe,右键点击任务栏右侧中的小图标,选择Add Key,将刚才生成的username.ppk加入
co资源:
在即将要存储svn文件的目录中(空白处)点击右键,checkout:svn+ssh://username@host:path,此时便可看到svn的资源列表