linux下svn配置参数详解

(1)svnserve.conf:  svn服务配置文件,存储普通的配置信息。 [root@centos conf]# vi svnserve.conf
        如果把其中的[#anon-access = read]前面的#和空格去掉即代表匿名用户有读的权限,如果修改为[anon-access = write]则代表匿名用户有写的权限,如果修改为[anon-access = none]则代表匿名用户没有任何权限。        注:对于[anon-access]和[auth-access]中的权限,write代表可以Checkout、Update、Commit和删除操作,read代表可以Checkout和Update,none代表没有任何权限,匿名用户的话只须修改这一项内容即可;password-db/authz-db分别为权限管理文件,若为同一目录下,则只有写名字,不同目录,则要写路径;下面介绍针对授权用户的权限修改。 
(2)passwd: 用户名口令文件。
 [root@centos conf]# vi passwd 
 注:打开passwd文件前,注意这时虽然添加有授权用户,但是基本配置文件中没有启动该功能,所以要在基本配置文件[svnserve.conf]中修改如下权限: [anon-access = none]:匿名用户没有任何权限;[auth-access = write]:所有授权用户均有写的权限;[password-db = passwd]:启用登陆验证功能(加上#即是屏蔽该功能);保存修改过的[svnserve.conf]文件后,重新启动服务后,如果再想CheckOut或者Commit都必须由授权用户验证登陆后来完成了
 (3)authz: 权限配置文件。   
         上面介绍的是对所有授权用户的权限进行管理,如果有一个项目,需要针对不同组的人分配不同的权限,针对不同文件夹也需要分配不同权限,针对个人也需要分配针对不同文件或根目录的操作权限的话,我们就需要用到[authz]配置文件的内容了。下面针对该文件中的几个操作权限做个简要介绍:                    [groups]下面可以进行组管理,也就是说可以新建组以及添加组成员;                    [/foo/bar]是对个人授权用户特定文件夹的权限进行管理,比如针对仓库根目录则是[/],            如果是针对根目录下面的test文件夹则是[/test/];                    [respository:/baz/fuz]是对组分配特定文件夹的权限,目录形式同上;            注:目前我们只需要对groups下的用户或目录进行配置。


 下面介绍几条权限的分配细则:
     1.[svnserve.conf]中的权限高于一切,当启用了授权模式[auth-access]后请屏蔽匿名模式,或者修改匿名模式为[anon-access =none];
          2.如果启用了验证或授权模式([passwd]、[authz]),请务必保证[auth-access]的权限不小于你要分配的权限,例如,如果想启用授权用户的Commit和删除权限,请务必保证[svnserve.conf]中授权模式的权限为[auth-access = write];          3.当启用[authz]授权模式后,请务必同时启用密码验证模式[passwd];          4.当启用[authz]授权模式后,请务必保证你要使用的用户在[authz]中进行了权限分配;          5.当一个授权用户在[authz]中同时分配了所属组的权限和个人权限,则以最高权限为准;          6.如果针对文件夹进行了授权,请务必保证在Checkout时在仓库地址后加上你所要操作的文件夹路径,比如针对test文件夹操作[svn://192.168.1.36/test];
         7.如果你针对文件夹进行了授权,请务必保证在对该文件夹有操作权限的用户第一次对该文件夹进行Checkout时,该文件夹存在。理论介绍到此,下面简单举一个例子来具体说明一下:
       现在有9个授权用户(dvlper1、dvlper2、dvlper3、dvlper4、tester1、tester2、tester3、tester4、user),四个组(develop,develop2,test,test2),在[passwd]文件中对9个用户定义密码全部为空,然后在[authz]文件中配置权限如下:
 
                         从上图我们知道其中组和个人的权限存在冲突,那么下面具体说明一下每个授权用户的具体权限:
                          dvlper1:可以对根目录执行Checkout和Update操作;
                          dvlper2:同dvlper1的权限;、
                          dvlper3:可以对根目录中所有内容执行Checkout、Update、Commit和删除操作;
                          dvlper4:同dvlper3的权限;
                          tester1:同dvlper3的权限;
                          tester2:只能对根目录下的test文件操作,可以执行Checkout、Update、Commit和删除操作;
                          tester3:同tester2的权限;
                           tester4:同tester2的权限;
                           user:没有任何权限;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值