Linux svn服务搭建和权限分配

安装启动

  1. 直接利用yum命令进行安装。yum install subversion(CenterOS7)完成subversion的安装。
yum install subversion
  1. 建立版本库目录svndata。
mkdir /svndata
svnserve -d -r /svndata         #启动svn,设置版本库目录为/svndata 
killall svnserve              #关闭svn
  1. 建立项目库
svnadmin create /svndata/icancontrol-code
  1. 启动svn
svnserve -d -r /svndata
  1. 上传项目以及当代码可以用还是用客户端完成。
    在这里插入图片描述

配置及分配权限

进入 /svndata/icancontrol-code 目录之后,你会看到里边有个“conf”文件夹,进入conf文件夹,ls一下,你会看到有三个文件authzpasswdsvnserve.conf三个配置文件,其中authz用来配置用户访问权限的,passwd用来配置用户及密码,svnserve.conf是对整个svnserve的进程进行配置的。
在这里插入图片描述

  1. svnserver.conf 配置

    vi工具打开svnserve.conf,找到“# password-db = passwd”,这一句是指定当前库所对应的用户配置文件的,我们需要把最前边的“#”和空格删掉;
    找到“# anon-access = none
    “# auth-access = write”这两句,第一句是用来控制匿名访问的,我们直接给它设置成none就好了,第二句用来控制经过验证允许访问库的用户的权限,这里我们设置成write就可以,当然,也要把前边的“#”和空格都删掉;
    找到** # authz-db = authz**,这一句是用来指定当前库对应的用户权限配置文件的,我们把最前边的“#”和空格都删掉,这样库在运行的时候要根据authz这个配置文件去匹配用户权限。
    到这里,我们的所有配置文件都可以起到他们应有的作用了(需要重启),
    在这里插入图片描述

  2. passwd 配置
    很简单,在最后直接添加用户就好,格式为:“用户名 = 密码”,例如:“test_user = 12345”
    在这里插入图片描述

  3. 对于authz:(可不配置)
    [groups]的配置很容易理解,就是群组。格式也比较简单,即“group_name = user1,user2,user3”,如果有多个用户,可以直接通过“,”的方式拼接就可以了,例如:

[groups]
## 项目经理
g_manager = liyongsheng
## 软件组
g_software = xingzhaoyang,wanghuizhe  
## 硬件组
g_hardware = lidongdong 

: 以[repo:/]开头的配置,上边的[gourps]配置是用来划分用户分组的,那么以[repo:/]开头的配置就是用来具体的划分用户读写权限的了,其中repo是你的库的名字,即上边我们通过“svnadmin create /svndata/icancontrol-code”命令所创建的库“icancontrol-code”,下边我们直接用例子来说明它的使用方法:
对项目根目录做限制,该目录只允许经理才能修改,其他人都只能拥有读的权限:

[cancontrol-code:/] 
@g_manager = rw
* = r

[cancontrol-code:/]” 表示这个目录结构的相对根节点,或者说是 cancontrol-code 项目的根目录。这里的 “@” 表示接下来的是一个组名,不是用户名。因为目前 g_manager 组里面只有一个 liyongsheng,你当然也可以将 “@g_manager = rw” 这一行替换成 “liyongsheng = rw” ,表达的意义完全一样。
* = 表示除了上面提到的那些人之外的其余所有人”,也就是“除了部门经理外的其他所有人”
“* = r” 则表示“那些人只能读,不能写”。
对于根目录下边的子目录,其权限配置方式是相同的,是需要把地址指明就可以了,即[test:/folder1/folder2],这里就不赘述了。

**注意:*配置中我们可能会遇到“ =”这样的情况,他的目的是用来隔断权限的继承性。如果在某一级目录的权限配置里加上这一句,则表明除了该配置中的用户之外的其他用户完全没有这一级目录的任何权利,既不可读(看不到),更不可写。
在这里插入图片描述
4. 生效
前面三个文件配置完成后

killall svnserve              #关闭svn
svnserve -d -r /svndata         #启动svn,设置版本库目录为/svndata 

配置就生效了

借鉴学长的博客: https://www.cnblogs.com/heinoc/p/3805779.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章