设为首页 收藏本站
查看: 782|回复: 0

[经验分享] Centos7 Ldap统一认证部署

[复制链接]

尚未签到

发表于 2018-4-21 07:47:28 | 显示全部楼层 |阅读模式
  转载地址:http://blog.chinaunix.net/uid-21926461-id-5676013.html
  LDAP介绍
  LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
  这篇部署文档是我参考了N多的国内外文章才整理出来的。
  使用目的:
  使用LDAP对运维相关用户名密码做统一管理。可以实现一个帐号登录多个不同系统。
  部署:
  一、Server端安装
  Step 1: Install the following packages:
  # yum install -y openldap openldap-clients openldap-servers migrationtools
  二、配置
  Step 2: Configure OpenLDAP Server:
[root@HBC-CtrlCenter ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

  change two lines:   #change  dc=yooma
  olcSuffix: dc=yooma,dc=com
  olcRootDN: cn=root,dc=yooma,dc=com
  add one line:
  olcRootPW: 123456 #密码根据自己需要修改
  :wq!
  Step 3: Configure Monitoring Database Configuration file:
[root@HBC-CtrlCenter ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

  #修改dn.base=""中的cn、dc项与step2中的相同
  olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
  al,cn=auth" read by dn.base="cn=root,dc=yooma,dc=com" read by * none
  :wq!
  Step 4: Prepare the LDAP database:
[root@HBC-CtrlCenter ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@HBC-CtrlCenter ~]# chown -R ldap.ldap /var/lib/ldap

  Step 5: Test the configuration:
[root@HBC-CtrlCenter ~]# slaptest -u

  56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
  56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
  config file testing succeeded  #验证成功
  Step 6: Start and enable the slapd service at boot:
[root@HBC-CtrlCenter ~]# systemctl start slapd

[root@HBC-CtrlCenter ~]# systemctl enable slapd

  Step 7: Check the LDAP activity:
[root@HBC-CtrlCenter ~]# netstat -lt | grep ldap

  tcp 0 0 0.0.0.0:ldap 0.0.0.0:* LISTEN
  tcp6 0 0 [::]:ldap [::]:* LISTEN
[root@HBC-CtrlCenter ~]# netstat -tunlp | egrep "389|636"

  tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 18814/slapd
  tcp6 0 0 :::389 :::* LISTEN 18814/slapd
  Step 8: To start the configuration of the LDAP server, add the follwing LDAP schemas:
[root@HBC-CtrlCenter ~]# cd /etc/openldap/schema/

  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
  # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif
  ##################################################
  # NOTE-: You can add schema files according to your need: #
  ##################################################
  Step 9: Now use Migration Tools to create LDAP DIT:
[root@HBC-CtrlCenter ~]# cd /usr/share/migrationtools/

[root@HBC-CtrlCenter migrationtools]# vim migrate_common.ph

  on the Line Number 61, change "ou=Groups"
  $NAMINGCONTEXT{'group'} = "ou=Groups";
  on the Line Number 71, change your domain name
  $DEFAULT_MAIL_DOMAIN = "yooma.com";
  on the line number 74, change your base name
  $DEFAULT_BASE = "dc=yooma,dc=com";
  on the line number 90, change schema value
  $EXTENDED_SCHEMA = 1;
  :wq!
  Step 10: Generate a base.ldif file for your Domain DIT:
[root@HBC-CtrlCenter migrationtools]# ./migrate_base.pl /root/base.ldif

  Step 11: Load "base.ldif" into LDAP Database:
[root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f /root/base.ldif

  Step 12: Now Create some users and Groups and migrate it from local database to LDAP database:
  #mkdir /home/guests
  #useradd -d /home/guests/ldapuser1 ldapuser1
  #useradd -d /home/guests/ldapuser2 ldapuser2
  #echo 'password' | passwd --stdin ldapuser1
  #echo 'password' | passwd --stdin ldapuser2
  Step 13: Now filter out these Users and Groups and it password from /etc/shadow to different file:
  #getent passwd | tail -n 5 > /root/users
  #getent shadow | tail -n 5 > /root/shadow
  # getent group | tail -n 5 > /root/groups
  Step 14: Now you need to create ldif file for these users using migrationtools:
[root@HBC-CtrlCenter ~]# cd /usr/share/migrationtools

[root@HBC-CtrlCenter migrationtools]# vim migrate_passwd.pl

  #search /etc/shadow and replace it into /root/shadow on Line Number 188.
  :wq!
[root@HBC-CtrlCenter migrationtools]# ./migrate_passwd.pl /root/users > users.ldif

[root@HBC-CtrlCenter migrationtools]# ./migrate_group.pl /root/groups > groups.ldif

  Step 15: Upload these users and groups ldif file into LDAP Database:
[root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f users.ldif

[root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f groups.ldif

  Step 16: Now search LDAP DIT for all records:
[root@HBC-CtrlCenter migrationtools]# ldapsearch -x -b "dc=yooma,dc=com" -H ldap://127.0.0.1

  三、客户端安装配置调试
[root@HBC-C1-WB-5 ~]# yum install -y nss-pam*

[root@HBC-C1-WB-5 ~]# authconfig-tui   #chose the secend [ Use LDAP] and next

  input  server:ldap://10.0.200.3/
  base DNS: dc=ldapserver,dc=com
[next]

  Kerberos设置
  domain:ldapserver.com
  KDC:ldapserver.com
  mange server:ldapserver.com
[soure]

  click OK.
[root@HBC-C1-WB-5 ~]# su ldapuser1

  bash-4.2$     #测试成功

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-449797-1-1.html 上篇帖子: Centos 7主机名更改 下篇帖子: centos7安装docker社区版
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表