SVN配置用户和权限以及初始化导入数据

来源:互联网 发布:mac 10.13 xtrafinder 编辑:程序博客网 时间:2024/06/11 13:34
 4,配置用户和权限

svn的权限管理涉及到一下文件:
passwd文件   --   /conf目录下   用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。
authz   --   /conf目录下   用于存放本svn库的访问授权信息。
svnserve.conf   -- /conf目录下   用于存放本svn库的全局访问控制信息。

来到E:\svndemo\repository\conf目录,修改svnserve.conf:
# [general]
# password-db = passwd
改为:
[general]
password-db = passwd 然后修改同目录的passwd文件(设置用户密码),去掉下面三行的注释再加两个用户:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = harryssecret
sally = sallyssecret
svnadmin = admin
zgz = zgz0809
最后修改同目录的authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问('').
authz文件中可以对任意多个目录进行权限控制,一下是一个例子:

[groups]
harry_and_sally = harry,sally
#设定权限组

[/]
svnadmin = rw

[/truck]
zgz = rw
harry = rw
sally = r
* = r

[/sanguo]
zgz = rw
harry = r
sally = rw
* = r

[/ts]
@harry_and_sally = rw
# 以@为键值意味着对前面定义的组进行授权
* = r

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

用户svnadmin权限最大,他可以进行根目录(注意:是服务器目录svn://localhost/,下边会介绍的)下所有文件(包括子目录下的文件)的读写操作,而/truck,/sanguo,/ts是在服务器的根目录下创建的三个子目录。
用户zgz 和harry对 /truck具有读写权限,sally 只有读的权限。
用户zgz 和sally对 /sanguo具有读写权限,harry 只有读的权限。
用户harry 和sally对 /ts具有读写权限,zgz只有读的权限。(* = r 表示所有用户都具有读的权限,当然zgz也就自然具有了。注意这里 @harry_and_sally = rw 表示给harry_and_sally组所有用户授权,该组在上边[groups]标签中已定义)

注意:如果用户对一个目录具有某种权限,那么他对其子目录也有同样的权限(例如:svnadmin),所以在授权时要特别注意,尽量只付给满足用户需要的最小的权限。

 

微笑

我自己上面的方面试了不行。自己解决办法(手动插入)

在svn的password ,auths,svnserver.conf文件下配置不成功,SVN Server界面选中某个版本库,右键->all tasks->Manage Security->add,添加用户名和密码即可。这样用户就在相应的版本库中建立了权限。

微笑

6,初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:\svndemo\wc1,目录下有一个readme.txt文件:
进入到E:\svndemo\wc1里。右键->TortoiseSVN->Import...
URL of repository输入“svn://localhost/” ,如果服务安装在其他机器则将localhost改换为目标机器的IP地址“svn://10.8.6.87/”。
ok
完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是10.8.6.87,则URL部分输入的内容就是“svn://10.8.6.87/”,一般为了便于管理不会导入到服务的根目录下,而是导入到工程的子目录,如/truck,/sanguo,/ts。导入的URL就添svn://localhost/truck。

微笑

这里我自己做的如下

初始化导入时,在SVNServer首页 status栏Server URL 即可看到url地址。比如https://RH-F0466-SH1GT/svn/SVNRepository。这里SVNRepository是版本库名称。

最后在SVN服务管理器上(SVN Server manager)里SVNRepository里就出现了readme.txt这个文件了!

 微笑对了,上面有些信息是参考http://hi.baidu.com/zgz0809/blog/item/788aee597c1611292834f084.html作者写的很好的!

原创粉丝点击