天天看点

在linux下搭建SVN服务器,权限+常见错误

1、安装SVN          要在linux下安装SVN,可以下载源码自己编译,最好是联网的可以直接安装

#yum install subversion

  判断是否安装成功(有时候也会没有结果,提示subversion commandnot find)
#subversion --v             
svnserve, version 1.6.11 (r934486)
           
出现上面的提示,说明安装成功。
有了SVN软件后还需要建立SVN库。(这里我建立的一个以repos作为根的仓库)
#mkdir /opt/svn
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos
           
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

2、配置         

            安装和建立第一个仓库都很简单,下面开始权限可用户验证的配置

    2.1  建立用户名和密码
打开conf下面的passwd文件,(#是配置文件的注释,这个我觉得大家应该知道)
[users]
# harry = harryssecret   
# sally = sallyssecret
hello=123
lee=123456
           
这样我们就建立了两个用户,hello和lee 密码就是 = 号后面的字符
2.2  配置authz(这里设置用户对目录的访问权限的配置)          [group]       reposgroup =  hello,lee           #群组的设置,将用户hello 和lee设置为群组reposgroup

                                 [ / ]     # 组reposgroup 里面的用户(用户组前面有个@),和用户mamamiya可对 根目录写读,所有用户可以读取(*号码表示所有用户)

@ reposgroup  =  rw mamamiya=rw * = r
2.3 设定snvserv.conf (找到文件里里面的属性。把注释符号去点就可以了)
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz   # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
           
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

3、启动服务器

3、1 打开服务器  启动svn:#svnserve  -d -r /opt/svn/repos
成功打开之后,可以再别的电脑上连接了,
客户端  TortoiseSVN
安装之后 在本地新建一个目录repos(任意名称)
    选择Svn CheckOut
在linux下搭建SVN服务器,权限+常见错误
我的服务器IP是192.168.0.61 按下OK之后 就可以登录了
在linux下搭建SVN服务器,权限+常见错误
  这里的用户名密码就是 passwd 文件里面配置的
在linux下搭建SVN服务器,权限+常见错误
如果出现  套接字 操作尝试一个无法连接的主机  的错误 可能需要在服务器里面的防火墙放行一下 3690端口
打开/etc/sysconfig 里面的 iptables文件  添加下面语句,(从iptables里面复制一行 端口修改成3690即可,防止不同iptables文件 配置语句不一样)
-A INPUT -m state --statr NEW -m tcp -p tco --dport 3690 -j ACCEPT
用户名密码验证成功之后 就会收到仓库里面的文件
在linux下搭建SVN服务器,权限+常见错误
4、添加子目录,控制权限
       因为开始 我们设置了 一个hello用户可以对整个目录进行 读写,现在我们可以再这个目录下面新建其他目录 如,aaa、bbb
然后再目录里面右键 选择SVN Commit,就新建了两个子目录。
再回到linux的authz文件
可以让用户 xiaodidi 只能访问aaa目录  (现在passwd文件里面添加这用户)
[/aaa]
xiaodidi = rw
          这样xiaodidi这个用户就只能访问aaa目录了,
          如果出现 authorization failed 一般是授权问题 authz ,检查文件配置

继续阅读