svn服务器的验证是需要通过SASL机制的,那么SASL全称为(Simple Authentication and security Layer),是一种用来扩充C/S模式验证能力的机制。 SASL是一个胶合库,通过这个库把应用层与形式多样的认证系统整合在一起,这有点类似于PAM,但是后者是认证方式,决定什么人可以访问什么服务,而SASL是认证过程,侧重于信任建立过程,这个过程可以调用PAM来建立信任关系 yum -y install sasl* saslauthd -v #查看sasl支持的东西 编辑 sasl配置文件 vim /etc/sysconfig/saslauthd MECH=ldap #MECH=shadow 为系统用户认证

验证系统用户 useradd testsasl passwd testsasl testsaslauthd -utestsasl -p123456

配置ldap vim /var/run/saslauthd ldap_servers: ldap://172.16.240.104/ ldap_bind_dn: cn=Manager,dc=my-domain,dc=com ldap_bind_pw: secret ldap_search_base: dc=my-domain,dc=com ldap_filter: uid=%U ldap_password_attr: userPassword

启动服务 /etc/init.d/saslauthd restart

验证 testsaslauthd -uldapsasl -p123456

安装svn yum -y install subversion 检查svn版本 svn --version 创建版本库目录 mkdir -p /var/svn/svnrepos 创建版本库 svnadmin create /var/svn/svnrepos/test 进入test配置维护目录 cd /data/svn/svnrepos/test/conf/

[root@ldap02 conf]# ll total 12 -rw-r--r--. 1 root root 1096 Aug 6 09:54 authz -rw-r--r--. 1 root root 347 Aug 1 11:10 passwd -rw-r--r--. 1 root root 2267 Aug 3 18:08 svnserve.conf

authz:负责账号权限的管理,控制账号是否读写权限 passwd:负责账号和密码的用户名单管理 svnserve.conf:svn服务器配置文件

编辑 /etc/sasl2/svn.conf 添加内容 vim /etc/sasl2/svn.conf pwcheck_method: saslauthd mech_list: PLAIN LOGIN

配置svn配置文件 vim /data/svn/svnrepos/test/conf/svnserve.conf use-sasl = true

重启svn svnserve -d -r /var/svn/svnrepos/test