本节和大家讨论一下SVN是如何添加用户及如何设置SVN权限等问题,主要有两部分内容,在这里和大家简单介绍一下,希望大家和我共同学习设置SVN权限方法。
1.添加用户并设置SVN权限
这里是架设服务器最复杂的地方,笔者试图把这里搞清楚,可惜,还是有些疑问!??好在服务器还能运转!
首先说,通过http协议传输数据时,用户是通过apache来操做svn版本库的,subversion是通过一些模块和apache进行通讯的。具体原理,有兴趣的朋友可以google相关资料。设置用户访问权限,有这么几个工作要做:
(1)版本库的密码文件,一般命名为PasswdFile,由用户通过命令创建,里面保存授权用户的用户名和MD5加密后的密码
(2)apache的httpd.conf文件,我理解这个文件是连接用户、apache、subversion的桥梁
这里只总结一下具体设置SVN权限操作方法:
1.1创建密码文件,密码文件保存在你的版本库文件目录下,在终端通过下面的命令创建密码文件
htpasswd-c/etc/svn/passwordfileusername
//建立新文件及使用者
htpasswd-c-bfilenameuserNamepassWord
//新增使用者或更新原使用者密碼
htpasswd-bfilenameuserNamepassWord
解释:/etc/svn/版本库的目录,建议采用完整路径,也就是你从filesystem一路找到你的版本库的所有文件夹
passwordfile密码文件名称,可以由用户自行命名
username你希望添加的用户名,比如zhangsan,lisi,wangwu
-c用来创建密码文件,这个命令在密码文件不存在的情况下可以创建一个文件,可以看到的哦!然后再添加其他
用户时可以去掉这个命令字。
回车执行本命令,会要求你输入密码,一共需要输入两便,添加成功后会提示adduserusername,然后可以再继续添加第二个用户。
htpasswd/etc/svn/passwordfileseconduser
反复执行此程序,将自己需要添加的用户添加进去!如果以后有需要还要添加别的用户,也可以单独执行上边的这条命令来添加。
文件创建完成后,你可以去目录下看一看是否有这么一个文件存在!实际上,应该是存在的,不存在的话就是操作没有成功啊!
1.2配置httpd.conf文件
设置SVN权限时要配置httpd.conf文件,文件位置,正常安装的话在etc/apache2/目录下,双击打开进行编辑,添加如下内容
#LoadModuledav_modulemodules/mod_dav.so加载mod_dav模块
#LoadModuledav_svn_modulemodules/mod_dav_svn.so加载mod_dav_svn模块
LoadModuleauthz_svn_module/usr/lib/apache2/modules/mod_authz_svn.so加载mod_anthz.svn模块
DAVsvn
SVNPath/home/bb/svn/vcard/指明版本库的路径
AuthTypeBasic认证类型为基本认证
AuthName"SVNrepos"认证名称,将在IE界面弹出一个对话框,其标题就是SVNrepos
AuthUserFile/home/bb/svn/vcard/VcardPasswdFile加载密码文件
#AuthzSVNAcessFile//home/bb/svn//vcard/accesspolicy
#satisfyAny
Requirevalid-user要求验证用户,即不能匿名访问
加#号的语句被注释掉了!如果有两个以上的版本库,可以针对每个版本库添加不同的location标签,两个互不影响。
配置完成后,重启apache,在IE里输入:http://localhost/vcard(即版本库名称),就可以看到相关的对话框。本节讲解设置SVN权限问题完毕。
【编辑推荐】