subversion权限配置文件:authz的解析,并生成这权限配置的一个对象模型。
深入的分析了其结构,总结如下:
1, 对某个用户,如果只赋给他某个目录的权限,但对上级目录没有赋给,则他不能有上级目录的任何权限
例如某个用户有:/repository/project1的r权,而没有/repository的r权
2,对于所有的目录,都优先处理设置在这个目录上的权限设置。
例如sai用户:
[/repository]
sai = rw
对于repository目录,他有rw的权限。
[/repository/project1]
sai = r
对于repository下的project1目录,他只有r权限。
则,这个saiy用户只有project1的r权。而repository下其他目录有rw权。
3,权限分配,只可以分配到某个目录,而不能到某个文件
4,如果某个目录上没有对某个用户设置权限,则一直向上级目录查找,看是否有权限
例如sai用户
[/repository]
sai=rw
[/repository/project1]
saiya=rw
则sai用户一样拥有/repository/project1的读写权限
5,分配权限时,= 的左边为用户,不能想当然的以,号分开加入多个用户
如
[/repository]
sai,saiya=rw
这样是错误的。
6,如果想设置某用户都没有rw的权限,只要 = 号的右边这空即可
如
[/repository]
sai=
7,一些快捷的表示方式。
[groups]
mygroup = sai,saiya
[/repository]
*=
(*号表示所有人,这里由表示所有人都没有读写的权限)
[/repository/project1]
@mygroup = rw
(@mygroup表示mygroup这个组上的所有人)