Svnserve单项目权限设置 前言 目前网络上有不少的关于 svn 安装与权限设置的文章(基于 SVN 自带的 svnserve ),可是若是您像我同样按照那些文章来进行咱们的 subversion 的 安装和设置会发现有不少问题,能够说每篇文章都有这样或那样的错误。或者断章取义,或者根本就没亲自验证就写出来,贴到网络上,而后又有不少人直接转帖到 本身的博客,空间中。这就形成了网络上大量的权限设置文章根本是没法正确设置权限的。在学习那些“权限设置精细”文章的过程当中,给咱们的身心都形成了严重 的伤害。至少给我幼小的心灵形成了创伤。每次上网搜到一篇文章都以为此次总该能够了吧,结果全盘照抄了,仍是不行。累的我真的想放弃了。还好后来有一篇文 章给了我启发,那是我找过的惟一一篇有我须要的细节的文章。
这篇文章是专门写给像我同样的菜鸟,而又由于这样或那样的缘由须要了解 svnserve 权限设置的人,也就是“侏儒”。若是您对 windows 比较了解,也就是身高在 1.5 米 以上的,偏矮的人,正常人,比较高的人,很是高的人,或者像姚明同样的巨人的话,那你会发现此篇文章极尽啰嗦,繁琐。对此我深表歉意!
一,项目结构
亿联网络技术有限公司是一家专一于网络通信产品的研发及销售的高科技企业。目前,公司主要致力于 VoIP 网关、 VoIP 终端、 WIFI 和 IP-PBX 等网络通信产品的开发、生产和销售。产品以出口为导向, 95% 产品远销英国、德国、美国、韩国等 50 多个国家与地区,拥有一批诸如 Nortel 、 FranceTelecom, Skype 等优质合做伙伴
资料库的目录结构以下 :
ref
项目名称
├─department
存放每一个部门资料
│
├─hardware
硬件资料目录
│
├─embedded
嵌入式资料目录
│
└─PC
PC 软件资料目录
├─com
研发部都可读的公共资料
└─temp
临时文件
二,创建版本库
在服务器 D 盘目录下(也可在本机,而且盘符可自由选择),新建 svn 文件夹 , 再在 svn 下新建 ref 文件夹。(文件夹名称可自行设定)
而后,建立版本库:
第一种方式:在 DOS 命令行中运行 svnadmin create D:\svn\ref
第二种方式:鼠标右键单击 ref ,选择 [TotoiseSVN]->[ 在此建立版本库 ...] 进行建立,默认“本地文件系统 (FSFS) ”,点击肯定,完成建立。
三,配置权限
编辑版本库 D:\svn\ref\conf\svnserve.conf 文件,以下:
[general]
anon-access = none
# 保证只有认证用户能够访问,即关闭匿名访问
auth-access = write
# 经过认证的使用权限
password-db = passwd
# 指定了用户密码文件
authz-db = authz
# 指定了受权文件
realm = ref
# 客户端凭证缓存
编辑版本库 D:\svn\ref\conf\passwd 文件,以下:
[users]
stonelu = stonelu
# ”=” 前为账号,后为密码
nancy = nancy
wxz = wxz
ly = ly
wwt = wwt
tjy = tjy
azm = azm
ljp = ljp
编辑版本库 D:\svn\ref\conf\authz 文件,受权以下:
[groups]
g_vip = stonelu
g_manager = nancy
g_hardware = wxz,ly
g_embedded = wwt,tjy
g_pc = azm,ljp
g_common = stonelu,wxz,ly,wwt,tjy,azm,ljp
[/]
# 根目录的权限
* =
# 全体员工对根目录无权限
@g_manager = rw
# 项目经理对根目录具备读写权限
@g_vip = r
[/ref/]
@g_manager = rw
@g_vip =r
* =
[/ref/department/hardware]
@g_manager = rw
@g_hardware = rw
@g_vip = r
* =
# 可加可不加,由于不显示设定权限,即表示没权限
[/ref/department/embedded]
@g_manager = rw
@g_embedded = rw
@g_vip = r
[/ref/department/pc]
@g_manager = rw
@g_pc = rw
@g_vip = r
[/ref/com]
@g_manager = rw
@g_common = r
[/ref/temp]
@g_manager = rw
@g_common = rw
四,导入项目版本库
windows
在本机D:\temp目录下,创建好上述资料库的目录结构,鼠标右键单击temp,选择[TotoiseSVN]->导入,以下图所示:缓存
弹出对话框:
1. 版本库在本机上安装,而且假设你电脑的 IP 地址为: 192.168.0.125 (固然这个是我在公司的 IP 地址),则在“版本库 URL :”中输入“ svn://localhost/ref ”或“ svn://192.168.0.125/ref ”等效。 2. 版本库在服务器上安装:假设服务器的 IP 地址为: 192.168.1.2 ,则在地址栏中输入: svn://192.168.1.2/ref 。
在“最新信息”里,可依您的兴趣填写,你可写您喜欢的女孩的名字,若是恰好是您心情郁闷时,也可写 ”F” 开头的英文词。固然若是是直接拿来版本控制,则最好填写 ”import” 之类比较切合实际的词组或语句。以下图:
服务器
此时你能够打开IE或文件夹,在地址栏中输入下面的任意一个:网络
①svn://192.168.0.125/ref
②svn://127.0.0.1/ref ③svn://localhost/ref
此时你能够打开IE或资源管理器的地址栏,甚至运行中输入上述三种方式之一,便可打开以下对话框:
svn
输入用户名和密码,可勾上“保存认证”,免去每次输密码的麻烦,获得以下对话框:学习
上图是对ref目录有权限的用户显示出来的结果,若是您对ref目录没有可读权限,则结果不同。如:您输入的用户是ljp,则显示以下:
spa
说明ljp对ref 没有可读权限。固然了,ljp用户对ref/department/pc下的文件是有权限的,咱们可在上图的URL中的ref后面加上 /department/pc,或者关闭上图,在地址栏中输入:svn://127.0.0.1/ref/department/pc再输入密码,显示如 下:命令行
咱们可在“pc”点右键,选择“建立文件夹”,输入文件名“test”,能够看到test文件夹已添加到pc下面。恰好也验证了咱们设置的权限是正确的。Ljp能对pc下的文件进行读写操做。版本控制
五,启动svnserve
打 开“开始->运行”输入“cmd”,打开命令行窗口,输入:svnserve –d –r D:\svn\ref,便可启动svnserve。注意不要关闭命令行窗口,关闭窗口也会把svnserve中止。这样每次开机都得手动启动服务。“那有 没有更好的办法呢?”(好白痴的问题)。若是想省去每次开机都得本身手动启动svnserve的麻烦,咱们能够把它设为系统服务。
因为文件字数太多,因此有些细节的内容被我删掉了。不过我把完整的word版放在附件中,是免费的有须要的人能够随便下载。这是我二十多年来第一次发贴,这篇文章也是今天刚刚完稿。但愿你们能多支持。 ip