SVN的服务器端用户权限配置

 搭建的文章很多了,这里先不整理,今天主要做了一下SVN服务器的配置。

 

第一:用户的配置

 

  SVN和apache整合的话,用户可以直接使用htpasswd dav_svn.passwd_file_address USERNAME来配置。

  而账户的管理可以用dav_svn.authz来配置

  前面那个passwd文件保存的是用户的基本信息,就不列了。而另外那个dav_svn.authz文件的内容如下:

  

  实际上,上面的这个文本已经基本说明了用户权限配置的情况了。[groups]里面表示的是分组信息,每个组=用户

  而下面的[/]表示的是整个SVN的所有库,因为我在apache下面访问的时候的做过别名,所以是http://localhost/svn/

  [test:/]表示的就是test这个库和相对这个库的根目录,实际上代表的是http://localhost/svn/test/

  [utt1:/testProject]其实utt1这个库有地方说的就是这里,http://localhost/svn/utt1/testProject目录,这里控制了sendsdeveloper组成员仅对这个目录具有读写权限。不像http://www.subversion.org.cn/bbs/viewthread.php?tid=520这篇文章的作者的血泪经验,实际上,这样的目录设置是通过了我自己的测试的,这个标志代表的是相对于utt1这个版本库目录下的testProject目录,而那位作者有了问题恐怕是在于他自己签入签出库的时候使文件夹出了问题吧。

  权限上,r,w分别表示读写,下面那个* = 表示除了上面写的之外,都没有任何权限,因为svn的目录权限也是继承的,如果不禁的话,父目录有权限的话,子目录会自动继承。另外,这个 *=在一个库的权限设置里面放在第一行和最后一行是没有区别的。

   另外,还需注意的是,即时在Windows下,设置这个也必须使用/而非/。

 

 

最后,如果要配置SVN下的中文支持的话,请参考这一段:

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、 到svn官方网站http://subversion.trigris.org/下载服务器安装包svn-win32-1.6.1.zip,将该压缩包解压到D:\subversion目录下,出现D:\subversion\bin。建立D:\svn,在命令行该目录(D:\subversion\bin\)下输入svnadmin create D:/svn/repos1,如果创建成功,D:\svn下将会多一个repos1目录。 2、 让svnservice服务随Windows系统一起启动,在命令行下输入:sc create svnservice binPath= "\"D:\subversion\bin\svnserve.exe\" --service -r D:\svn" start= auto 3、 权限配置: 在进行权限配置前,所有的用户都能进行任何操作,在很多情况下是不允许的。在创建仓库时,仓库目录(如:D:\svn\repos1)下都会生成好几个文件夹,其中conf里面存储的是配置信息,包括三个文件: authz:访问权限配置 passwd:用户名和密码配置 svnserve.conf:基本配置信息 ⑴先配置svnserve.conf,将里面几项配置前的注释去掉,最后的内容如下: [general] #anon-access = read #auth-access = write password-db = passwd authz-db = authz 这些参数的含义文件里都有详细说明,其中,anon-access和auth-access分别是对匿名用户以及认证用户的访问控制,password- db指明用户密码文件路径,authz-db指明权限配置文件路径。另外还有一个参数realm用于指明仓库所属的认证域,默认情况下每个仓库位于不同的域(每个仓库有一个唯一的uuid),因此我们可以不设置该项,除非多个仓库需要共用同一份passwd配置。 ⑵passwd文件的配置很简单,格式如下(等号前面为用户名,后面为密码): [users] #harry = 123 #sally = 123 sunxiaoyong = 11111111[A1] ⑶authz则可以创建用户组并精确配置某个用户或用户组对某个文件或目录的访问权限,下面是一个例子: [groups] #harry_and_sally = harry,sally [/] sunxiaoyong = rw * = r[A2] #[/project1] #* = #harry = rw #sally = r #[/project1/foo] #sally = #[/project2] #@harry_and_sally = rw #guest = r 文件内容其实很简单易懂,groups用于定义用户组,后面便是对资源的具体访问控制,/表示仓库根目录,*表示所有用户,用户组前面需加上@符号,r表示可读,w表示可写,等号右边为空则表示没有权限。注意对于目录结构,当用户访问某个资源时,SVN会先看有没有直接针对该资源的访问控制,如果没有找到,则会继承上一级目录的访问权限,如此递推。 补充再提一点,当我们有多个仓库时,我们会发现这些仓库的用户帐号在大多数情况下都是相同的,因此,我们可以将passwd文件放到公共的地方,然后将所有仓库的password-db配置都指向该文件。相应的,authz-db也可以共用一个文件,不过需要在配置具体的访问控制时指明所属的仓库,如下: [/] * = r [repos1:/project1] * = r harry = rw [repos2:/project1] * = r sally = rw 上述配置表明,所有人对所有仓库的根目录都有读权限,但只有harry对仓库repos1里的project1有读写权限,只有sally对仓库repos2里的project1有读写权限。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值