配置SVN版本库及权限问题

来源:互联网 发布:java dos 命令 编辑:程序博客网 时间:2024/06/03 01:42

1.Svn装好之后开始配置它的版本库(Subversion是将文件数据信息保存到版本库中进行管理的,为了满足用户的不同需求,Subversion允许用户对版本库目录进行定制)在一个非中文无空格目录下创建一个文件夹,作为版本库的根目录。
创建一个文件夹:mkdir -p /home/suvrepos/Firstrepos
使它成为我们的版本库:svnadmin create /home/suvrepos/Firstrepos
在/home/suvrepos/Firstrepos目录下有如下文件
这里写图片描述
证明版本库创建成功。
2.然后就可以启动服务。
Svnserve -d -r /home/suvrepos/Firstrepos
3.验证服务是否启动
SVN服务监听3690端口,打开一个新的cmd窗口,使用netstat -an 命令查看3690端口是否被监听
这里写图片描述
4.启动服务后就可以在服务器下载(checkout)和上传(submit)东西。
但此时涉及到一个权限问题
进入conf目录(该svn版本库配置文件)
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
如果要陌生人可以上传东西就把匿名权限打开。
[1]进入对应的版本库目录下的conf目录:

cd /home/suvrepos/Firstrepos/conf

[2]打开svnserve.conf #vi svnserve.conf
[3]将第19行的# anon-access = read改为anon-access = write,也就是去掉“# ”,将read改为write。注意前面不要留空格,一定要顶格写。
然后保存退出。(保存退出方法和前面修改环境变量时的方法一致)
[4]不需要重启SVN服务,甚至命令行窗口都不需要重新打开。
如果要授权访问,(账户密码登录)则:
①要设置授权访问就需要创建用户,并为用户设定权限
②打开授权访问的配置
[1]进入对应的版本库目录下的conf目录:

cd /home/suvrepos/Firstrepos/conf

打开svnserve.conf #vi svnserve.conf
[2]将第19行anon-access = write注释掉:# anon-access = write
表明该版本库不接受匿名访问
[3]将第20行# auth-access = write注释打开:auth-access = write
表明该版本库使用授权访问
[4]将第27行注释打开:
password-db = /home/suvrepos/Firstrepos/conf/passwd
表明使用同目录下的passwd文件保存用户信息
[5]将第36行注释打开:authz-db = /home/suvrepos/Firstrepos/conf/authz
表明使用同目录下的authz文件保存权限信息
[6]打开passwd文件创建用户

userWrite01 = 123456
userWrite02 = 123456
userRead = 123456
userOther = 123456

[7]打开authz文件:#后面注释的是例子
<1>创建用户组
[groups]

harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe

canWrite = userWrite01,userWrite02
<2>指定路径,给用户和用户组授权

[/foo/bar]
# harry = rw
* =屏蔽那些未设定的用户,让它们没有任何权限
[/]
@canWrite = rw
userRead = r
*=

<3>权限的继承性:父目录设置的权限,对子目录同样有效——除非子目录进行了更为具体的设定
[/subDir]
userOther = rw
* =
这个例子表示当前版本库下的subDir目录只有userOther有读写权限,其它用户无任何权限
再次checkout时就需要账户密码验证

1 0