zoukankan      html  css  js  c++  java
  • linux配置SVN,添加用户,配置用户组的各个权限教程

    前言

    今天组长要我给新员工添加svn 的权限,以及赋予他们权限访问指定的目录,于是就顺手写个教程吧,毕竟好记性不如烂笔头

    一、xshell登陆服务器

    用xshell登陆服务器,cd切换到服务器中svn的项目仓库目录中,然后切换到conf文件中,会看到3个文件,分别是

    authz、passwd、svnserve.conf

    linux操作熟练的同志们,可以直接在xshell里面操作,通过vi命令分别去修改里面的内容,我是知道命令,但是不太熟练,通过vi操作不怎么方便,于是我这里就偷懒,直接通过sheel里面的【新建文件传输】按钮进入了,然后找到这三个文件,下载下到本地,然后进行编辑操作。


     

    二、编辑svnserve.conf文件,进行svn配置

    首先编辑svnserve.conf主配置文件,主要是对以下几项修改

    [general]

    anon-access = none    #取消匿名访问

    auth-access = write    #授权用户有可写权限

    password-db = passwd    #指定用户配置文件,后面会用到

    authz-db = authz    #指定权限配置文件,后面会用到

    如果后面大家要用到组权限的话,大家看authz-db = authz 前面应该会有 # 号键,记得去掉,这样才能在下面分配组权限的时候,才能起作用。

    三、编辑passwd文件,添加用户

    建立svn用户以及密码:

    [users]
    aaa=aaa123
    bbb=bbb123
    ccc=ccc123
    ddd=ddd123

    四、编辑authz,配置用户组和权限

    配置组:

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    总管理员 = admin
    开发组 = qqq,www,eee,rrr
    运维组 = ttt,yyy,uuu,iii
    测试组 = aaa,bbb,ccc,ddd

    配置各个组权限:

    [/]                   #[/]表示是svn根目录,标签后的用户拥有根目录权限
    @总管理员 = rw         #分配给总管理员用户组根目录的读写权限
    @开发组 = rw           #分配给开发组用户组根目录的读写权限
    *=                    #没有分配权限的用户没有读写权限
    
    [/运维知识库]          #根目录下面有一个[运维知识库]文件夹,
    @运维组 = rw           #分配给运维组用户组根目录的读写权限
    zzz = rq              #分配读写权限给zzz用户,为单个用户分配权限
    
    [/测试知识库]
    @测试组 = rw

    拓展:这样的目录还是简单的,那假如目录是多级目录呢

    helloword仓库:

         abc项目

          def项目

                  产品部

                  开发部

                  数据部

          运维知识库

          测试知识库

    现在对于def项目中,我不想让产品部的人看到开发部和数据部的目录下面的数据怎么办?可以通过 *=  来设置,没有设置权限的人统统不能访问,* =  这一句的目的,就是割断权限继承性,使得管理员可以定制某个目录及其子目录的权限,从而完全避开其父目录权限设置的影响

    五、替换原来的三个conf文件并且重启svn

    最后就是将自己修改的svnserve.conf ,passwd,authz 三个目录替换原来的三个文件就可以了

    然后用下面的命令重启一下svn

    查看svn进程:ps -ef |  grep svn      

    强制杀死进程:kill - 9 进程号

    重启svn:svnserve -d -r /opt/svn

    最后看看是不是成功了,可以在本地测试一下,看看对应的权限是不是已经有了,不是该组的用户应该不能访问没有赋予权限的目录的


    参考文章:

    https://blog.csdn.net/xiaoxiangzi520/article/details/81178584

    https://blog.csdn.net/zjh_746140129/article/details/81193005

    感谢原作者的分享,让技术人能够更快的解决问题

  • 相关阅读:
    Prometheus服务发现
    持久化查询
    PromQL进阶
    PromQL基础
    Prometheus概述
    监控系统概念
    zabbix5x解决中文字体问题
    allure 插件新手 demo
    关于时间复杂度~
    IIS发布网站Microsoft JET Database Engine 错误 '80004005'的解决办法,基于Access数据库
  • 原文地址:https://www.cnblogs.com/jalenFish/p/14099030.html
Copyright © 2011-2022 走看看