基础 - 配置权限

  • 作者:KK

  • 发表日期:2016.12.5


开启目录权限认证

修改svnserve.conf,将# authz-db = authz的注释解除

保存配置文件,重新检出项目,输入账号密码后会提示Authorization failed(认证失败)

这个认证失败不是说账号密码的认证失败,而是你即使账号正确了,但是你的没有权限读取,那权限方面也是认证失败

刚解除注释后开启的authz-db选项就是开启了目录权限认证的


目录权限配置

conf/authz这个文件就是authz-db = authz所指的文件

打开它,在最底下添加一这个内容:

[/]
* = rw

表示所有人都能读写根目录,然后重新检出就正常了,并且也能提交文件

  • 指定用户权限

    [/]
    jay = rw
    * = r
    

    这样就是jay可读写,其他全部人只读


  • 子目录示例

    [/]
    jay = rw
    * = r
    	
    [/controllers]
    * = rw
    	
    [/models]
    marie = rw
    jay = rw
    * = r
    	
    [/runtime]
    jay = rw
    * =
    

    这就是定义了4个目录的操作权限

    根目录只有jay读写,全部有只读

    controllers目录则是全部人都可以读写

    models目录只有2个人可以读写,其他人只读

    而runtime目录只有jay可读写,其他人连读的权限都没有

    更多的配置可以参考上面这个示例自己试着玩玩


用户组

在authz配置里的[groups]区间下可以看到一些示例配置,这个是用来设定用户组的,比如

[groups]
admin = jay,marie
php = xiaoming,xiaohong
js = waster,mimi

这样就定义了admin、php和js三个分组(当然也要有相关的用户,在passwd里),在目录的配置里可以这样引用分组:

[/]
@admin = rw
* = r

[/server]
@admin = rw
@php = rw
@js =

[/web]
* = rw

利用用户分组可以节省不少的配置麻烦