centos下svn的ldap认证配置

Posted chy-op

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos下svn的ldap认证配置相关的知识,希望对你有一定的参考价值。

前提:完成svn的基本安装

一、安装sasl相关组件

#yum install -y cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

 

二、查看SASL版本和提供的验证模块

#saslauthd -v

技术分享图片

 

三、修改sasl的用户验证方式为ldap

#cp /etc/sysconfig/saslauthd /etc/sysconfig/saslauthd.save
#sed -i ‘s/MECH=pam/MECH=ldap/‘ /etc/sysconfig/saslauthd

技术分享图片

 

四、修改sasl配置文件(不存在则新建)

#vi /etc/saslauthd.conf (以下信息根据ldap服务来配置)
ldap_servers: ldap://192.168.1.2
ldap_bind_dn: cn=chengdu,dc=sichuan,dc=com
ldap_bind_pw: xxxxxx
ldap_search_base: dc=sichuan,dc=com
ldap_filter: uid=%U
ldap_deref: never
ldap_restart: yes
ldap_scope: sub
ldap_use_sasl: no
ldap_start_tls: no
ldap_version: 3
ldap_auth_method: bind
ldap_mech: DIGEST-MD5
ldap_password_attr: userPassword
ldap_timeout: 10
ldap_cache_ttl: 30
ldap_cache_mem: 32786

 

五、重启sasl服务,测试是否通过

# systemctl restart saslauthd
# testsaslauthd -u 用户 -p 密码

技术分享图片

 

六、修改配置文件svn.conf,不存在则新建,目前不知此文件的作用

#vi /etc/sasl2/svn.conf
pwcheck_method:saslauthd
mech_list:plain login

 

七、重启sasl服务,并做好svn的相关配置

#cat svnserve.conf
[general]
anon-access = none
auth-access = write
#password-db = passwd
authz-db = authz
realm = /opt/svn/migu/SPMS
[sasl]
use-sasl = true

 

八、测试

当前已切换到LDAP认证,svn服务不再调用passwd文件,也不再使用authz里的用户,但是对LDAP用户的权限控制需要在authz里设置。

a)      以LDAP的一个用户为例(chenhongyuwx),authz不做权限的修改,使用此用户进行访问

技术分享图片

使用登录SPMS的密码进行登录

 技术分享图片

登录失败,没有访问权限

b)      authz对chenhongyuwx做只读的权限,使用此用户进行访问

技术分享图片

使用登录SPMS的密码进行登录,登录成功,说明chenhongyuwx具有读的权限,符合配置要求

技术分享图片

上传文件,使用chenhongyuwx用户commit失败,因为chenhongyuwx只有读权限,没有写权限,符合配置要求

技术分享图片

c)      authz对chenhongyuwx做读写的权限,使用此用户进行访问

技术分享图片

上传文件,使用chenhongyuwx用户commit成功,因为authz为其设置了读写权限。

技术分享图片

 

以上是关于centos下svn的ldap认证配置的主要内容,如果未能解决你的问题,请参考以下文章

SVN+SASL+LDAP认证

Centos6.5下OpenLdap搭建(环境配置+双机主从配置+LDAPS+enable SSHA)

ldap落地实战:gitlab集成openldap认证

Centos7.5部署最新稳定版jenkins并配置ldap认证

CentOS 6.9下OpenLDAP 的安装与配置

通过ldap验证svn服务