配置SVN使用openldap认证

完成了openldap的配置之后,为了更进一步的进行用户统一身份认证,所以需要配置SVN使用openldap进行认证,这样的话只需要维护ldap中的用户数据,然后在SVN上进行服务授权即可完成SVN的用户权限分配。同样的,这个配置也适合于其他的软件,比如vsftpd,ssh,openvpn等,下面开始配置SVN使用ldap认证。

1、安装sasl

SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。

SASL是一个胶合库,通过这个库把应用层与形式多样的认证系统整合在一起。这有点类似于PAM,但是后者是认证方式,决定什么人可以访问什么服务,而SASL是认证过程,侧重于信任建立过程,这个过程可以调用PAM来建立信任关系。在这里Memcached就是上面提到的应用层,具体的认证交给SASL库,SASL会根据相应的认证机制来完成验证功能。

yum -y install *sasl* -y

[[email protected] conf]# rpm -qa|grep sasl

saslwrapper-0.14-1.el6.x86_64

cyrus-sasl-devel-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-md5-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-lib-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-sql-2.1.23-15.el6_6.2.x86_64

python-saslwrapper-0.14-1.el6.x86_64

cyrus-sasl-ntlm-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-gssapi-2.1.23-15.el6_6.2.x86_64

cyrus-sasl-plain-2.1.23-15.el6_6.2.x86_64

ruby-saslwrapper-0.14-1.el6.x86_64

saslwrapper-devel-0.14-1.el6.x86_64

cyrus-sasl-ldap-2.1.23-15.el6_6.2.x86_64

2、配置sasl使用ldap认证

[[email protected] ~]# grep "^MECH" /etc/sysconfig/saslauthd

MECH=pam

[[email protected] ~]# sed -i ‘/MECH/s/pam/ldap/‘ /etc/sysconfig/saslauthd

[[email protected] ~]# grep "^MECH" /etc/sysconfig/saslauthd

MECH=ldap

[[email protected] ~]# cat >> /etc/saslauthd.conf

ldap_servers: ldap://192.168.49.138/

ldap_bind_dn: cn=admin,dc=contoso,dc=com

ldap_bind_pw: 123456

ldap_search_base: ou=People,dc=contoso,dc=com

ldap_filter: uid=%U

ldap_password_attr: userPassword

[[email protected] ~]# cat /etc/saslauthd.conf

ldap_servers: ldap://192.168.49.138/

ldap_bind_dn: cn=admin,dc=contoso,dc=com

ldap_bind_pw: 123456

ldap_search_base: ou=People,dc=contoso,dc=com

ldap_filter: uid=%U

ldap_password_attr: userPassword

[[email protected] ~]# /etc/init.d/saslauthd restart

Stopping saslauthd:                                        [FAILED]

Starting saslauthd:                                        [  OK  ]

3、testsaslauthd测试ldap账号能否通过认证

[[email protected] ~]# useradd test01

[[email protected] ~]# echo "123456" |passwd --stdin test01

Changing password for user test01.

passwd: all authentication tokens updated successfully.

[[email protected] ~]# testsaslauthd -utest01 -p123456

0: NO "authentication failed"

[[email protected] ~]# testsaslauthd -ucharleslv -p123456

0: OK "Success."

[[email protected] ~]# testsaslauthd -uericli -p123456

0: OK "Success."

[[email protected] ~]# testsaslauthd -uzhangs -p123456

0: OK "Success."

成功的结果是本地账户无法认证成功,ldap用户认证成功。

4、配置svn使用saslauthd进行认证

[[email protected] ~]# cat >>/etc/sasl2/svn.conf

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

[[email protected]inux ~]# cat /etc/sasl2/svn.conf

pwcheck_method: saslauthd

mech_list: PLAIN LOGIN

[[email protected] ~]# /etc/init.d/saslauthd restart

Stopping saslauthd:                                        [  OK  ]

Starting saslauthd:

5、配置SVN数据仓库使用sasl认证

[[email protected] ~]# cd /opt/svndata/idc/conf/

[[email protected] conf]# cp svnserve.conf svnserve.conf.bak$(date +%F)

[[email protected] conf]# grep use-sasl svnserve.conf

# use-sasl = true

[[email protected] conf]# sed -i ‘/use-sasl/s/^# //‘ svnserve.conf

[[email protected] conf]# grep use-sasl svnserve.conf

use-sasl = true

#重启svn服务

[[email protected] conf]# ps -ef |grep svn

root       1075      1  0 23:26 ?        00:00:00 svnserve -d -r /opt/svndata/

root       1235   1039  0 23:56 pts/0    00:00:00 grep svn

[[email protected] conf]# pkill svnserve

[[email protected] conf]# ps -ef |grep svn

root       1238   1039  0 23:56 pts/0    00:00:00 grep svn

[[email protected] conf]# /root/svn.sh start

SVN server started successful.

[[email protected] conf]# ps -ef|grep svn

root       1244      1  0 23:57 ?        00:00:00 svnserve -d -r /opt/svndata/

root       1249   1039  0 23:57 pts/0    00:00:00 grep svn

[[email protected] conf]# lsof -i :3690

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

svnserve 1244 root    3u  IPv4  21252      0t0  TCP *:svn (LISTEN)

6、修改认证文件authz,对ldap进行授权

[[email protected] conf]# vi /opt/svnpasswd/authz  #这里我的authz修改了配置,所以不在repository/conf目录下

[[email protected] conf]# tail -6 /opt/svnpasswd/authz

[idc:/]

test01 = rw

test02 = r

charleslv = rw

ericli = r

zhangs = rw

#使用我的脚本重启svn服务

[[email protected] conf]# /root/svn.sh restart

SVN server stopped successful.

SVN server started successful.

7、使用ldap用户进行svn操作

[[email protected] conf]# svn checkout svn://192.168.49.129/idc /tmp --username=charleslv --password=123456

A    /tmp/b.txt

A    /tmp/access.log

A    /tmp/hello.txt

A    /tmp/新建文本文档.txt

A    /tmp/testf.txt

A    /tmp/xm01.txt

A    /tmp/check.sh

A    /tmp/branch

A    /tmp/branch/b.txt

A    /tmp/branch/access.log

A    /tmp/branch/hello.txt

A    /tmp/branch/新建文本文档.txt

A    /tmp/branch/testf.txt

A    /tmp/branch/xm01.txt

A    /tmp/branch/check.sh

A    /tmp/branch/testfile.txt

A    /tmp/branch/a.txt

A    /tmp/test_ldap.txt

A    /tmp/testfile.txt

A    /tmp/a.txt

Checked out revision 25.

再到windows客户端测试一下

输入用户名zhangs和密码

更新成功,说明SVN已经可以使用ldap进行认证了,到此,配置svn使用ldap认证的操作成功。

时间: 2024-10-11 01:53:15

配置SVN使用openldap认证的相关文章

配置vsftp通过openldap认证

ftp服务器用过的肯定不少,虽然可能有很多公司已经摒弃不用,网上也有很多其他方案可以替代,但是还是有些特别的用途,还是有一定的用武之地的.在部署了ldap之后,我们当然想尽可能多的将生产范围内的其他系统或应用的认证都对接到ldap上来,所以这一次来使用ldap认证登录vsftp. 1.准备工作 1 2 3 4 5 6 7 8 9 #停止iptables,并查看iptables状态 /etc/init.d/iptables stop iptables -L -n #禁用SELinux,并查看SEL

SVN使用LDAP认证

完成了openldap的配置之后,为了更进一步的进行用户统一身份认证,所以需要配置SVN使用openldap进行认证,这样的话只需要维护ldap中的用户数据,然后在SVN上进行服务授权即可完成SVN的用户权限分配.同样的,这个配置也适合于其他的软件,比如vsftpd,ssh,openvpn等,下面开始配置SVN使用ldap认证. 1.安装sasl SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制. SASL是一个

FreeBSD上两种认证方式配置SVN笔记二

一.安装: 1.Apache安装 不用多说,进入到 /usr/ports/www/apache22目录下,运行make install即可安装默认方式搞定,如果你还有别的apache的应用和需求,自己研究. 2.Subversion安装 #cd /usr/ports/devel/subversion#make install WITHOUT_BDB=yes WITH_MOD_DAV_SVN=yes APXS=/usr/local/sbin/apxs 说明:WITHOUT_BDB=yes 这是我不

Linux下安装配置SVN

1.检查系统上是否安装了SVN rpm -qa subversion 没有安装,则使用以下命令安装 yum -y install  subversion 2.配置svn并启动svn服务 (1) 指定svn的数据存储路径    mkdir -p /application/svndata (2) 指定svn的配置文件信息路径  mkdir -p /application/svnpasswd (3) 启动svn服务    svnserve -d -r /application/svndata/ 3.检

SVN基于MYSQL认证

SVN的简介和工作原理 Subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows,但是普通应用在Linux上. SVN主要是通过两种方式来工作:即是通过独立服务器和依赖Apache方式来工作. SVN的作用体现如下方面 1.解决代码管理紊乱的问题. 2.解决代码冲突的问题. 3.解决代码拥有者对代码权限的控制. 系统环境:CentOS release 6.5 (Fina

【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常实用,通俗易懂,可能做的过程会遇到问题,没事,大家慢慢研究,会成功的,文章我已做优化,就是我在搭建的过程出现的问题. 转自:dazeair 原文地址:http://dazeair.blog.51cto.com/4024187/1421178 系统:Ubuntu 12.04 64位 lnmp环境 集成

linux 配置svn服务器+使用+注意事项

本文以ubuntu系统进行安装. 1.安装svn服务器 apt-get install subversion 输入 y 回车确认安装. 安装完毕后可以用 下边的命令查看是否安装完成,如果现实出版本号和版权信息等等就证明安装完成. svn --version svn --version 成功后展示如下信息 svn, version 1.8.8 (r1568071) compiled Aug 20 2015, 12:51:30 on x86_64-pc-linux-gnu Copyright (C)

Linux centos 下安装配置SVN服务器

centos服务器上安装配置SVN(subversion),其实是很简单的,只是有些时候在配置的过程中有个别细节如果不注意,会容易造成访问不了的情况. 网上这类的讲解很多,下面的步骤整体上都是不变的,会加一点自己遇到的问题的解决过程和方法. ------------------------------------------------------------------------------------- 在线安装方法: 1,查看当前是否已经安装了SVN: #rpm -qa | grep s

CentOS 7下搭建配置SVN服务器

CentOS 7下搭建配置SVN服务器 1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve /bin/svnserve 检查一下subversion是否安装成功. $ svnserve --versionsvnserve, version 1.7.14 (r1542130)  compiled Nov 20 2015, 19:25:09 Copyrig