svn+apache的配置文件无非就是subversion.conf有关apache的给svn的模块配置) authz(用户角色权限配置) passwd(用户密码)
passwd无非就是新建用户或者修改密码用。
authz相对较为复杂,下面举个例子
[group] admin = aaa,bbb,ccc vip = a1 man = b1 custom = c1 //这里先设定有这么多个角色和用户 //假设库的名字叫cp //下面在cp下建立2个平行的目录vip和main [/] @admin=rw //表示根目录下只有admin才有读写权限 [cp:/] *=r //在cp库下,除了admin下,所有人都有读的权限 @admin=rw //在cp库下,admin具有读写的权限 [cp:/vip] *= //除了vip和admin之外,所有人没有任何权限 @vip=rw // @admin=rw // [cp:/main] *= //除了以下角色外,其他人没有任何权限 @admin=rw // @vip=rw // @man=r //
如果出现有的目录下有子目录的话,那么在目录中有权限的角色在子目录中也应该有相应角色权限。
也就是说,子目录可以继承母目录的角色权限。
比如 vip这个目录下面有vip1这个目录,那么vip和admin依然有对vip1进行rw的权限。
3.15补充
[/] @admin=rw //表示根目录下只有admin才有读写权限 [cp:/] *=r //在cp库下,除了admin下,所有人都有读的权限 @admin=rw //在cp库下,admin具有读写的权限 [cp:/vip] *= //除了vip和admin之外,所有人没有任何权限 @vip=rw // @admin=rw // [cp:/main] *= //除了以下角色外,其他人没有任何权限 @admin=rw // @vip=rw // @man=r // [cp:/main/01-aaa] //admin和test能访问,admin能看到,vip用户是看不到有这个目录的 @test=rw @admin=rw
这里补充一下,目录中还有目录特别设置权限的话,如果上一级用户拥有权限但是没有拥有特定的这个权限的话,是看不到的该文件夹的。或者说,拥有子目录权限但是没有主目录权限的话,可以直接通过完全的子目录链接来达到访问的目的。