ldap安装

本文详述了在CentOS系统上安装和配置LDAP服务器的步骤,包括安装相关软件、设置管理员密码、修改配置文件、启动和检查服务状态,以及导入数据。此外,还介绍了如何通过Web管理接口`ldap-account-manager`进行管理,并展示了客户端的配置和认证过程,包括图形化和命令行方法。最后,文章提到了LDAP Schema的重要性和组成部分。
摘要由CSDN通过智能技术生成

1.ldap服务器安装

[root@ldap ldap]# vim /etc/hosts  #本地解析域名

1.1.1.13    willow.com

安装LDAP相关软件:openldap、openldap-servers、openldap-clients

[root@ldap ~]# yum install -y openldap*

[root@ldap ~]# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf 

设置ldap管理员密码

[root@ldap ~]# slappasswd -s willow

{SSHA}FD+4xgrSYsZA4jcgMjAtrDzt74J2Xy0S

[root@ldap openldap]# vim /etc/openldap/slapd.conf 

rootpw    {SSHA}E6MCxlhotF+ExXnQZK4zqbZNihHb83IL

修改主配置文件如下:

[root@ldap openldap]# vim /etc/openldap/slapd.conf 

database        bdb

suffix          "dc=willow,dc=com"

rootdn          "cn=admin,dc=willow,dc=com"

启用日志功能

[root@ldap openldap]# vim /etc/openldap/slapd.conf 

loglevel    296

cachesize   1000

checkpoint 2048 10

[root@ldap openldap]# vim /etc/openldap/slapd.conf 

     access to *

        by self write

        by anonymous auth

        by * read

配置日志:

[root@ldap openldap]# vim /etc/rsyslog.conf 

local4.*                    /var/log/ldap.log

[root@ldap openldap]# service rsyslog restart

配置数据库:

[root@ldap openldap]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@ldap ldap]# chown ldap.ldap /var/lib/ldap/DB_CONFIG 

[root@ldap ldap]# chmod 700 /var/lib/ldap/DB_CONFIG 

[root@ldap ldap]# slaptest -u

config file testing succeeded

[root@ldap ldap]# service slapd restart

[root@ldap ldap]# lsof -i :389

[root@ldap ldap]# netstat -tnlp| grep :389

[root@ldap ldap]# ps -ef | grep ldap | grep -v grep 

[root@ldap ldap]# chkconfig slapd on

[root@ldap ldap]# ldapsearch -LLL -W -x -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -b "dc=willow,dc=com" "(uid=*)"

Enter LDAP Password: 

ldap_bind: Invalid credentials (49)

[root@ldap ldap]# 

[root@ldap ldap]# rm -rf /etc/openldap/slapd.d/*

[root@ldap ldap]# ls /etc/openldap/slapd.d/

[root@ldap ldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

bdb_monitor_db_open: monitoring disabled; configure monitor database to enable

config file testing succeeded

[root@ldap ldap]# chown -R ldap.ldap /etc/openldap/slapd.d/

[root@ldap ldap]# service slapd restart

[root@ldap ldap]# ldapsearch -LLL -W -x -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -b "dc=willow,dc=com" "(uid=*)"

Enter LDAP Password: 

No such object (32)

[root@ldap ldap]# useradd ldapuser1

[root@ldap ldap]# useradd ldapuser2

[root@ldap ldap]# useradd ldapuser3

[root@ldap ldap]# echo redhat | passwd --stdin ldapuser1

[root@ldap ldap]# echo redhat | passwd --stdin ldapuser2

[root@ldap ldap]# echo redhat | passwd --stdin ldapuser3

配置数据库ldif格式文件

[root@ldap ldap]# yum install -y  migrationtools

[root@ldap ldap]# grep ldapuser /etc/passwd > user.txt

[root@ldap ldap]# grep ldapuser /etc/group > group.txt

[root@ldap ldap]# vim /usr/share/migrationtools/migrate_common.ph 

# Default DNS domain

$DEFAULT_MAIL_DOMAIN = "willow.com";

 

# Default base 

$DEFAULT_BASE = "dc=willow,dc=com";

[root@ldap ldap]# /usr/share/migrationtools/migrate_base.pl > base.ldif 

[root@ldap ldap]# vim base.ldif #只保留以下内容

dn: dc=willow,dc=com

dc: willow

objectClass: top

objectClass: domain

 

dn: ou=People,dc=willow,dc=com

ou: People

objectClass: top

objectClass: organizationalUnit

 

dn: ou=Group,dc=willow,dc=com

ou: Group

objectClass: top

objectClass: organizationalUnit

 

[root@ldap ldap]# /usr/share/migrationtools/migrate_passwd.pl user.txt user.ldif

[root@ldap ldap]# /usr/share/migrationtools/migrate_group.pl group.txt group.ldif

导入数据库ldif格式文件

[root@ldap ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f base.ldif 

adding new entry "dc=willow,dc=com"

 

adding new entry "ou=People,dc=willow,dc=com"

 

adding new entry "ou=Group,dc=willow,dc=com"

[root@ldap ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f user.ldif 

adding new entry "uid=ldapuser1,ou=People,dc=willow,dc=com"

 

adding new entry "uid=ldapuser2,ou=People,dc=willow,dc=com"

 

adding new entry "uid=ldapuser3,ou=People,dc=willow,dc=com"

[root@ldap ldap]# ldapadd -x -w willow -H ldap://willow.com -D "cn=admin,dc=willow,dc=com" -f group.ldif 

adding new entry "cn=ldapuser1,ou=Group,dc=willow,dc=com"

 

adding new entry "cn=ldapuser2,ou=Group,dc=willow,dc=com"

 

adding new entry "cn=ldapuser3,ou=Group,dc=willow,dc=com"

2.ldap服务器Web

管理配置Web管理接口:利用软件 ldap-account-manager-3.7

[root@ldap ldap]# yum install httpd php php-ldap php-gd

[root@ldap ldap]# cd /var/www/html/

[root@ldap html]# tar xvf /root/ldap-account-manager-3.7.tar.gz 

[root@ldap html]# mv ldap-account-manager-3.7 ldap

[root@ldap html]# cd /var/www/html/ldap/config/

[root@ldap config]# cp config.cfg_sample config.cfg

[root@ldap config]# cp lam.conf_sample lam.conf

[root@ldap config]# sed -i 's@cn=Manager@cn=admin@g' lam.conf

[root@ldap config]# sed -i 's@dc=my-domain@dc=willow@g' lam.conf

[root@ldap config]# sed -i 's@dc=yourdomain@dc=willow@g' lam.conf

[root@ldap config]# sed -i 's@dc=org@dc=com@g' lam.conf

[root@ldap config]# chown -R apache.apache /var/www/html/ldap

[root@ldap config]# service httpd restart

通过客户端http://1.1.1.13/ldap  登入

点击右上角 LAM configuration --> Edit general settings -->默认密码lam 

       -->设置访问权限主机和修改密码

返回首页,输入admin帐号的密码willow登入管理页面,

wKiom1fSD5CBD-fcAAC1NY4Q6TU668.jpg

wKioL1fSDybirg3QAADIA2iR-GU276.jpguploading.4e448015.gif转存失败重新上传取消wKioL1fSDybirg3QAADIA2iR-GU276.jpg

wKiom1fSDynA3tHvAAFG5-7F9xk072.jpg

3.图形化设定客户端认证: 方法一

[root@GW ~]# yum install -y openldap-clients nss_ldap setuptool

确保客户端与服务器端解析正确和时间一致

[root@GW ~]# vim /etc/hosts  #本地解析域名

1.1.1.13    willow.com

备份现有配置

[root@GW ~]# cp /etc/nsswitch.conf /etc/nsswitch.conf.bak

[root@GW ~]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak

[root@GW ~]# setup

wKioL1fWQreiJeNzAAE09LtVS5A547.jpg

wKiom1fWQreyFIwYAAJM862FeHc292.jpg

wKioL1fWQriDdtvXAADsKRPTmik002.jpg

比较配置前后区别:

[root@GW ~]# vimdiff /etc/nsswitch.conf /etc/nsswitch.conf.bak 

[root@GW ~]# vimdiff /etc/pam.d/system-auth  /etc/pam.d/system-auth.bak 

[root@GW ~]# vim /etc/openldap/ldap.conf #确认有如下两行信息

URI ldap://willow.com/

BASE dc=willow,dc=com

[root@GW ~]# ldapsearch -x -LLL #确保执行成功,即显示条目信息

查看本地是否有ldaptest用户信息,返回无信息,即本地没有此用户信息

[root@GW ~]# cat /etc/passwd | grep ldaptest 

直接查看ldaptest的ID,显示有返回用户信息,说明通过了OpenLDAP进行的验证

[root@GW ~]# id ldaptest

uid=10000(ldaptest) gid=501(mygroup) groups=501(mygroup) context=root:system_r:unconfined_t:SystemLow-SystemHigh

getent命令说明也通过了openldap用户认证

[root@GW ~]# getent passwd ldaptest

ldaptest:*:10000:501:ldaptest:/home/ldaptest:/bin/bash

测试ldaptest用户客户端登入:

[root@GW ~]# ssh ldaptest@1.1.1.88

显示没有家目录,但可以正常登入

Could not chdir to home directory/home/ldaptest: No such file or directory 

下面解决家目录问题:第一种方法通过autofs+NFS部署实现,另一种方法通过增加模块实现(推荐)

我们这里选择添加pam模块(pam_mkhomedir.so)进行演示:

[ldaptest@GW ~]$ vim /etc/pam.d/sshd 

session    required     pam_mkhomedir.so  skel=/etc/skel/ umask=0022

再次用ldaptest用户测试登入,家目录显示正常

[root@GW ~]# ssh ldaptest@1.1.1.88

ldaptest@1.1.1.88's password: 

Last login: Mon Sep 12 14:15:01 2016 from 1.1.1.144

[ldaptest@GW ~]$ whoami

ldaptest

[ldaptest@GW ~]$ id

uid=10000(ldaptest) gid=501(mygroup) groups=501(mygroup) context=user_u:system_r:unconfined_t

[ldaptest@GW ~]$ pwd

/home/ldaptest

4.修改配置文件设定客户端认证:方法二 (仅供参考)[转载地址在文章末尾]

    nslcd进程由nss-pam-ldapd 软件包提供,并根据nslcd.conf配置信息,与后端的认证服务器进行交互。例如,用户、主机名称服务信息、组织、其他数据历史存储、NIS等。

4.1、安装OpenLDAP客户端软件包

yum install openldap-clients nss-pam-ldapd

修改文件最后面如下内容。

4.2、修改/etc/nslcd.conf 配置文件

 

uri ldap://192.168.2.10/

base dc=wzlinux,dc=com

ssl no

tls_cacertdir /etc/openldap/cacerts

在文件最后面添加如下内容,注意删除里面的base和host有效的那一行。

4.3、修改pam_ldap.conf 配置文件

uri ldap://192.168.2.10/

base dc=wzlinux,dc=com

ssl no

tls_cacertdir /etc/openldap/cacerts

pam_password md5

 在文件内添加如下内容

4.4、修改system-auth 认证文件

 

auth       sufficient     pam_ldap.so    use_first_pass

account    [default=bad success=ok user_unknown=ignore]    pam_ldap.so

password     sufficient     pam_ldap.so    use_authtok

session      optional     pam_ldap.so

4.5、修改nsswitch.conf 配置文件

    在passwd、shadow、group后面的files 后面添加ldap。

4.6、修改/etc/sysconfig/authconfig 认证文件

 

USESHADOW=yes               #启用密码验证

USELDAPAUTH=yes             #启用OpenLDAP验证

USELOCAUTHORIZE=yes         #启用本地验证

USELDAP=yes                 #启用LDAP认证协议

4.7、加载nslce进程

service nslcd restart

此部分来源:    以上我简单略过的大家可以参照图形化安装修改的一些文件内容来修改,相对来说图形化安装比较方便,但是如果遇到大批量安装,使用命令行部署还是比较简便的。

5.命令行部署设定客户端认证:方法三 (仅供参考)    [转载地址在文章末尾]

    运行一下命令,可以根据帮助文档进行个性化定制。

authconfig --enablemkhomedir \

--disableldaptls \

--enablemd5 \

--enableldap \

--enableldapauth \

--ldapserver=ldap://192.168.2.10 \

--ldapbasedn="dc=wzlinux,dc=com" \

--enableshadow \

--update

wKiom1etf_OxM6KbAADpHqL2UD4636.jpg

    可以看到正常登录,创建家目录。之前我们是在/etc/pam.d/sshd里面添加的创建家目录认证,我们使用命令部署之后,我看它加在了/etc/pam.d/system-auth里面,之前我手动修改配置文件的时候不行,图形化安装也不行,大家可以试试看看是否OK,具体如下:

wKiom1etgJiAPmbIAAFAYB0BlR0875.jpg

用户密码设置

    默认情况下用户是不可以修改密码的,因为我服务端开通了修改密码的权限,所以我这里用户可以个性化修改自己的密码,添加的服务端代码如下,具体操作请查看我的服务端部署文档。

wKioL1etgzqiteNXAADCIenaBxQ011.jpg

    密码修改演示如下。

wKiom1etg3ThO37fAABJNlDm5b0370.jpg

6.ldap服务器sasl认证

[root@ldap config]# yum install -y *sasl*

查看认证机制或列表

saslauthd 2.1.23

[root@ldap config]# saslauthd -v 

authentication mechanisms: getpwen:qt kerberos5 pam rimap shadow ldap

启用本地shadow认证

[root@ldap config]# vim /etc/sysconfig/saslauthd 

MECH=shadow

[root@ldap config]# service saslauthd start

[root@ldap config]# testsaslauthd -u willow -p redhat  #本地帐号测试成功

0: OK "Success."

[root@ldap config]# testsaslauthd -u ldaptest -p redhat #ldap帐号测试失败

0: NO "authentication failed

启用本地ldap认证

[root@ldap config]# vim /etc/sysconfig/saslauthd 

MECH=ldap

[root@ldap config]# service saslauthd restart

[root@ldap config]# testsaslauthd -u willow -p redhat #本地帐号测试失败

0: NO "authentication failed"

[root@ldap config]# testsaslauthd -u ldaptest -p redhat #ldap帐号测试失败

0: NO "authentication failed"

配置指向ldap服务器文件认证文件

[root@ldap config]# vim /etc/saslauthd.conf 

ldap_servers: ldap://willow.com/

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

ldap_bind_pw: willow

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

ldap_filter: uid=%U

ldap_password_attr: userPassword

[root@ldap config]# testsaslauthd -u willow -p redhat #本地帐号测试失败

0: NO "authentication failed"

[root@ldap config]# testsaslauthd -u ldaptest -p 123456 #ldap帐号测试成功

0: OK "Success."

7.将linux加入到AD域中并使用域用户登入linux系统

前提:AD域主机名: Server1.willow.com  IP地址:1.1.1.1

   客户机:GW.willow.com  IP地址:1.1.1.88

[root@GW ~]# vim /etc/hosts

1.1.1.88        GW.willow.com      GW

1.1.1.1         Server1.willow.com Server1

或者指定DNS解析

[root@GW ~]# vim /etc/resolv.conf 

nameserver 1.1.1.1

[root@GW ~]# setup

wKiom1feOk3QrCk0AAJpBOzJLyc244.jpguploading.4e448015.gif转存失败重新上传取消wKiom1feOk3QrCk0AAJpBOzJLyc244.jpg

wKioL1feOlDTcAGZAAF-m19GPfI393.jpguploading.4e448015.gif转存失败重新上传取消wKioL1feOlDTcAGZAAF-m19GPfI393.jpg

 

wKiom1feOlnC1ryNAAHm3PS3ufI238.jpg

wKioL1feOqjjP39UAAE54XSMr4Y325.jpg

最后正常显示如下画面:加入AD域中

wKiom1feOO7RJf57AAFyDrPRV1k068.jpg

[root@GW ~]# wbinfo -u  显示AD域 用户信息

[root@GW ~]# wbinfo -g  显示AD域 组信息

wKioL1feOO-Rld7jAANupL8PNyw543.jpg

将显示的用户或组前缀去除,如WILLOW\a1显示成a1

[root@GW ~]# vim /etc/samba/smb.conf 

 winbind use default domain = true

[root@GW ~]# service winbind restart

[root@GW ~]# wbinfo -u  显示AD域 用户信息但无WILLOW前缀

[root@GW ~]# wbinfo -g  显示AD域 组信息但无WILLOW前缀

wKioL1fePTCjHaRsAAIOFAkf8JY935.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值