SVN 删除权限限制和其它权限密码管理

1 首先确认SVN代码库的文件夹,如/home/svn/DebugLog

里面会有以下几个文件夹:conf  hooks

conf 里包含文件:

a authz :定义DebugLog的账号对应权限 (没有用到)

b passwd :定义DebugLog的账号密码 (没有用到)

c svnserve.conf :定义账号和权限的存放位置,文件内容如下:
 

        anon-access =read

        anon-access=write

        password-db=/home/svn/passwd    #密码库的文件位置  (如果用DebugLog/conf文件夹下面的passwd文件,那么直接password-db= passwd)

        authz-db = /home/svn/authz      #权限库的文件位置

        readlm = /home/svn/DebugLog

hooks 文件夹目录下:

默认有一个pre-commit.tmpl 文件,表示没有启用该文件,如果需要使用需要重命名该文件:

操作指令:copy pre-commit.tmpl  pre-commit

如果需要添加删除权限报错,可以在该文件下做如下修改

fi
USER=`$SVNLOOK author -t $TXN $REPOS`  #注意不是单引号,位置在Tab键上面
ADMINLIST=test1,test2  #设置可以删除文件的SVN成员,多个用逗号隔开
if [ "`echo $ADMINLIST|grep -w $USER|wc -l`" -eq 0 ];then  #如果查询到的用户不在ADMINLIST里 则 0 == 0 会进行第二个if判断; -eq 是==的意思 
            if [ `$SVNLOOK changed -t $TXN $REPOS |grep "^D "|wc -l` -gt 0 ] # 查询到操作指令是D开头的 则 1 > 0 ,条件成立 进入报错exit 1 所以删除不会成功;-gt 是>的意思
            then # 注意:第二个if 的then 要放下来 不然if判断有问题
        	    echo "你没有权限删除,请联系管理员删除!" >&2
                exit 1 # 退出1 报错
            fi
fi

exit 0

修改文件的执行权限

chmod 755 pre-commit 

SVN 在【projectA】项目下子目录单独的权限设置

1 在passwd 文件下 新增新的账号和密码

[users]

clientTest = ps123

2 在authz 文件中设置权限

正常是这样的

[projectA:/]

client1=rw

client2=rw

增加子目录(子项目)subProject目录权限,subProject为客户端上传文件夹

[projectA:/subProject]

client1=rw

client2=rw

clientTest=rw

增加后,clientTest账号对projectA 目录没权限,但对/projectA/subProject 的目录有权限 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值