本来不是我的活,为了保证兄弟们更好、更安全的工作,重新整理了一下svn权限设置问题:
以前存在一个问题就是每个人都有权限去读不同的repository, 还好只读, 写的权限分配相应的组。但是我想有些repository对某些同学都应该是不可读的,但是又让他知道我们系统中有这个资源。呵呵,是不是特坏的?
在svn权限管理中一般采用组的概念来分配权限(在authz文件中实现):如下:
[groups]
wenda_group=deyilong, shuowang
wenda_prod_group=kgao
isohu_group=huanghaitao
[/]
*=r
[wenda:/code]
@wenda_group=rw
[wenda:/doc]
@wenda_prod_group=rw
@wenda_group=rw
[miscsearch_saybar2:/]
@isohu_group=rw
后来研究发现,没有达到预期是因为svn权限分配是带继承特性的。
因为
[/]
*=r
就是所有repository都是对大家可读,所以需要在每个section中最后加上*=表示其他人都没有任何权限,也是切断继承关系。
形式如下:
[wenda:/code]
@wenda_group=rw
*=
[wenda:/doc]
@wenda_prod_group=rw
@wenda_group=rw
*=
[miscsearch_saybar2:/]
@isohu_group=rw
*=
这样的话就能够实现我的要求。
另外想提醒的就是,如果路径名上有中文一定要转成utf-8的格式,否则svn不认。