如何做到svn根目录不让访问,但子目录可以访问权限设置?
首先,肯定可以实现。
然后,需要了解你的SVN架设环境和权限管理方式。
如果你的SVN服务器是架设在Apache上的,使用的是Apache的用户管理机制,那么你可以在权限文件里这么设置:比如版本库名称是project,这个版本库的所有内容对于部门A(有用户user1~user5)是全部读写权限,对于部门B(有用户user6、user7)仅对其下的fla文件夹有只读权限,但其他文件夹不给任何权限。
[groups]
DepartmentA = uaser1,uaser2,user3,user4,user5
DepartmentB = uaser6,uaser7
[project:/]
=
@DepartmentA = rw
[project:/fla]
@DepartmentB = r
如果按以上设置,部门B访问的时候,你可以告诉他们访问地址直接就是到fla这层文件夹,而不要到project这层文件夹。他们如果用IE访问project这层文件夹,会因没有权限而无法打开,但可以直接访问fla这层。他们如果用TortoiseSVN访问的时候,也是同样只能checkout检出fla这个文件夹。
Subversion 权限简介在 Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即 authentication,是指用户名与密码的认证。授权,即 authorization ,是指某用户对某个目录是否具备读、写权限的一种审核。这两者配合作用,就组成了 Subversion 的整个帐户管理体系。
推荐用Collabnet SVN Edge来搭建SVN服务器,Linux版、windows版都有,这个安装包架设起来比较容易,内置了Apache和服务器端管理台,基本上一个安装文件装完就能用,可以通过浏览器对服务器进行远程管理,而且是免费的。
安装过程可以看附带的安装说明,也可以参考我的百度文库,其中有篇关于这个安装包的说明,不过写的是老版本的。
这个事情分成两步:
1、架设SVN服务器
2、开通外网访问
对于第一步,网上有很多的文档了,在我的百度文库里也有两篇SVN服务器的架设指导,建议安装Collabnet Subversion Edge版SVN服务器,安装配置很简单,基本装好就能用。
对于第二步,至少有两种方案:
1、架设***,外网通过***连入内网后,就和在内网完全一样了;
2、在公司的路由器上做个端口映射,将SVN服务器的访问端口(如Collabnet Subversion Edge版SVN服务器采用的是http协议,默认是80端口)映射到公司外网IP的相应端口上,这样访问公司外网IP+SVN服务端口,就等于访问公司SVN服务器。
第二步的两种方案虽然也不复杂,网上也能找到很多文档参考,但还是建议你找网络专业人员帮你配置吧。
1首先,假设你的电脑是win7 64位的,你要准备的东西:VisualSVN-Server-301-x64msi和TortoiseSVN-18825755-x64-svn-1810msi
2安装完之后
3打开VisualSVN Server Manager,直接右键Repositories,Create New Repository,输入Repository Name,假设输入的是testsvn,OK
4那么现在在Repositories下就会有一个资源名称叫testsvn
5那么我们现在右键Users,Create User,输入名称密码都是testsvn,OK,我们这就创建了一个叫testsvn的用户了,以后可以用它检入检出数据了
6现在我们要检出这个资源的东西,右键Repositories下的testsvn,Copy Url to ClipBoard,这样就选中了它的url了
7我们在C盘右键,选择SVN Checkout,在URL of repository粘贴,OK
8经过以上步骤之后,你可以检出你的项目了,请尝试在里面新建修改文件提交就行了
9如果你要在eclipse里面使用也可以,因为你已经有了url和用户名密码
10如果我重装系统之后,资源是不是消失了?没关系,在菜单栏的操作(A)-Properties里面设置你的Repositories Root,这样,无论你怎么重装,都没有关系了,自己的svn,局域网的svn就这么配置好了。
如果要自己架设服务器的话,我自己架设过,具体思路是将SVN服务器先架设在局域网上,然后通过路由器的映射将其端口开放给互联网访问。为了解决ADSL线路每次重新连接时随机分配IP地址的问题,我们还需要申请一个免费域名。
下面是我的架设方法,首先你需要具备这些条件:
1、路由器1台,应有端口映射(转发规则-虚拟服务器)功能,最好有内置的花生壳动态DNS功能(否则就需要另外安装花生壳软件)。
2、SVN服务器一台
3、ADSL或其他通往互联网的网络线路
然后需要做以下事情:
1、架设好SVN服务器,保证内网访问畅通。
2、申请免费域名
登录花生壳网站(wwworaynet),免费注册用户,可得到一个免费域名,如“abcdegicpnet”此域名可长期使用;
3、登录路由器管理页面
通常是访问地址http://19216811,用户名和密码根据设定输入,各型号路由器的访问方式可能略有不同,可参考说明书进行操作。
4、设置动态域名
如果路由器内置了花生壳动态DNS功能,则可通过路由器直接设置。以TL-WR340G 54M型号的无线路由器为例,在“动态DNS”页面,选择服务提供者为花生壳,输入在花生壳注册的用户名和密码,然后点击登录。
如果路由器没有内置的花生壳动态DNS功能,则需要在花生壳网站下载花生壳客户端软件,安装(可不必安装附带的“向日葵”组件)后使用前面申请的花生壳帐户名和密码进行登录,登录后即可使用免费域名。
5、设置端口映射
仍以TL-WR340G 54M型号的无线路由器为例,在“转发规则-虚拟服务器”页面点击“添加新条目”,在新条目的页面中,设置端口号为项目组SVN服务器的访问端口号,设置IP地址为该路由器分配给项目组SVN服务器的内网IP地址,状态为“生效”,然后保存。
然后你就可以在互联网上通过你申请的免费域名(如“abcdegicpnet”)代替IP地址来访问SVN服务器了。
至于如何架设基于Apache的SVN服务器这个就不用细讲了吧?
0条评论