- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Subversion之路--实现精细的目录访问权限控制
背景假设 -------- 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封一封邮件去查看,很麻烦。于是就想到利用 Subversion, 让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下 svn commit 即可,比发送邮件还要简单的多。 - svn服务器相关信息 ? - 服务器地址: ? - 服务器OS: MS Windows 2000 Server Edition 中文版 ? - 用于存放日志的代码库本地目录: ``D:\svn\arm`` - arm部门文档的目录结构如下:: ??? arm???????????????? 部门名称 ??? ├─diary?????????? 工作日志目录 ??? │? ├─headquarters??? 总部工作日志目录 ??? │? ├─beijing???????? 北京办日志目录 ??? │? └─shanghai??????? 上海办日志目录 ??? ├─ref???????????? 公司公共文件参考目录 ??? └─temp??????????? 临时文件目录 - 人员情况 ? - morson,公司总经理,不习惯使用电脑,更喜欢传统的纸与笔,以及面对面的交流 ? - michael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn来管理日志,就是他想出来的主意 ? - scofield,北京办人员,老员工,为人油滑难管 ? - lincon,上海办人员,老员工,大老实人一个 ? - linda,总部协调员、秘书,文笔不错,长得也不错 ? - rory,单片机技术员,技术支持 - 访问权限需求分析 ? - 允许总经理、部门经理读取所有文件。顺便给他们开放写权限,以便体现对他们职位的尊重,虽然对于某些文件来说,他们若拥有“写”权限其实也没什么用处 ? - 除部门经理外,所有其他人员,均只能看到本办事处人员工作日志 ? - 不允许匿名访问 ? - ref目录只允许经理和秘书读写,对其他人只读 ? - temp目录人人都可以随意读写 使用 svnserve.exe 作为 Subversion 服务器 ---------------------------------------- 本节描述如何利用 svnserve.exe 来作为代码库服务器端,实现上述功能。至于另外一种代码库服务器端,即利用 Apache 结合 mod_dav_svn.so 来实现的代码库服务器端,由于其对于本文叙述的内容“实现精细的目录访问权限控制”而言,与前者没有太大的区别,故而略过不提。它们二者只是在初次安装、配置方面存在一些不同,有兴趣的读者,可以参考其他文档,重新实验下述步骤。 启动 Subversion 服务 ```````````````````` 在服务器端,打开一个命令行窗口,用CD命令进入 Subversion 安装目录下的 bin 目录,运行如下指令:: ??? svnserve -d -r d:\svn 其中的 -d 参数表示 svnserve.exe 将会作为一个服务程序运行在后台,而 -r 参数表示将 ``D:\svn`` 目录指定为代码库的根目录。这样,当客户端使用类似 svn:///foo 这样内容的 URL 来访问服务器时候,其所访问到的真实代码库,其实就是 ``D:\svn\foo`` 用上述命令行方式启动的 svn 服务有个小缺点,就是在本试验过程中,服务器端必须要一直开着那个运行了上述命令的DOS窗口,不能关闭它。如果不想看到这个窗口,可以将 svnserve 安装成 windows 的一个 services,安装方式请参考其他文章。 建立代码库 `````````` 在服务器端的 ``D:\svn`` 目录下,建立一个名为 arm 的代码库,命令如下:: ??? D:\svnsvnadmin create arm 使用上述命令之后,如果不出问题的话,在 ``D:\svn`` 目录下就会多出一个叫做 ``arm`` 的目录,其下具备 conf、dav、hooks、locks、db 等子目录或文件,此即 **一个名为arm的代码库** 。从此,通过 ``svn:///arm`` 这样的 URL,我们就可以对这个代码库
文档评论(0)