SVN 权限配置

XP下svnserve的安装和权限设置

Svnserve项目权限设置前言       目前网络上有很多的关于svn安装与权限设置的文章(基于SVN自带的svnserve),但是如果您像我一样按照那些文章来进行我们的subversion的 安装和设置会发现有很多问题,可以说每篇文章都有这样或那样的错误。或者断章取义,或者根本就没亲自验证就写出来,贴到网络上,然后又有很多人直接转帖到 自己的博客,空间中。这就造成了网络上大量的权限设置文章根本是无法正确设置权限的。在学习那些“权限设置精细”文章的过程中,给我们的身心都造成了严重 的伤害。至少给我幼小的心灵造成了创伤。每次上网搜到一篇文章都觉得这次总该可以了吧,结果全盘照抄了,还是不行。累的我真的想放弃了。还好后来有一篇文 章给了我启发,那是我找过的唯一一篇有我需要的细节的文章。
       这篇文章是专门写给像我一样的菜鸟,而又因为这样或那样的原因需要了解svnserve权限设置的人,也就是“侏儒”。如果您对windows比较了解,也就是身高在1.5以上的,偏矮的人,正常人,比较高的人,非常高的人,或者像姚明一样的巨人的话,那你会发现此篇文章极尽啰嗦,繁琐。对此我深表歉意!
一,项目结构
       亿联网络技术有限公司是一家专注于网络通讯产品的研发及销售的高科技企业。目前,公司主要致力于VoIP网关、VoIP终端、WIFIIP-PBX等网络通讯产品的开发、生产和销售。产品以出口为导向,95%产品远销英国、德国、美国、韩国等50多个国家与地区,拥有一批诸如NortelFranceTelecom, Skype等优质合作伙伴

资料库的目录结构如下:
ref




项目名称
├─department

存放每个部门资料

├─hardware

硬件资料目录

├─embedded
嵌入式资料目录

└─PC

PC
软件资料目录
├─com
研发部均可读的公共资料
└─temp

临时文件
二,建立版本库
       服务器D盘目录下(也可在本机,并且盘符可自由选择),新建svn文件夹,再在svn下新建ref文件夹。(文件夹名称可自行设定)
       然后,创建版本库:
       第一种方式:在DOS命令行中运行svnadmin create D:svn ef
       第二种方式:鼠标右键单击ref,选择[TotoiseSVN]->[在此创建版本库...]进行创建,默认“本地文件系统(FSFS)”,点击确定,完成创建。
三,配置权限
       编辑版本库D:svn efconfsvnserve.conf文件,如下:

[general]


anon-access = none
#
保证只有认证用户可以访问,即关闭匿名访问

auth-access = write
#
通过认证的使用权限

password-db = passwd
#
指定了用户密码文件

authz-db = authz
#
指定了授权文件

realm = ref
#
客户端凭证缓存

       编辑版本库D:svn efconfpasswd文件,如下:

[users]


stonelu = stonelu
# ”=”
前为帐号,后为密码

nancy = nancy


wxz = wxz


ly = ly


wwt = wwt


tjy = tjy


azm = azm


ljp = ljp

       编辑版本库D:svn efconfauthz文件,授权如下:

[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

四,导入项目版本库

在本机D: emp目录下,建立好上述资料库的目录结构,鼠标右键单击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或资源管理器的地址栏,甚至运行中输入上述三种方式之一,即可打开如下对话框:





输入用户名和密码,可勾上“保存认证”,免去每次输密码的麻烦,得到如下对话框:



上图是对ref目录有权限的用户显示出来的结果,如果您对ref目录没有可读权限,则结果不一样。如:您输入的用户是ljp,则显示如下:



说明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 ef,即可启动svnserve。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。这样每次开机都得手动启动服务。“那有 没有更好的办法呢?”(好白痴的问题)。如果想省去每次开机都得自己手动启动svnserve的麻烦,我们可以把它设为系统服务。
    由于文件字数太多,所以有些细节的内容被我删掉了。不过我把完整的word版放在附件中,是免费的有需要的人可以随便下载。这是我二十多年来第一次发贴,这篇文章也是今天刚刚完稿。希望大家能多支持。
原文地址:https://www.cnblogs.com/lyayzh/p/3387218.html