ldap 搭建及应用

node1: 192.168.118.14
node2: 192.168.118.25

ldap server : 192.168.118.14

1. 安装LDAP服务器

  1. [root@node1 ~]# yum install openldap-servers -y # 安装ldap服务器端软件
  2. [root@node1 openldap]# cp -a /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf # 主配置文件
  3. [root@node1 openldap]# cp -a /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
  4. [root@node1 openldap]# slappasswd # 生成加密密码
  5. New password:
  6. Re-enter new password:
  7. {SSHA}ToeOEviUjgqhRK7YYn3frPrdf6yAGETM
  8.  
  9. [root@node1 openldap]# vim slapd.conf # 修改主配置文件的dc
  10. database bdb
  11. suffix "dc=super,dc=com"
  12. checkpoint
  13. rootdn "cn=Manager,dc=super,dc=com"
  14. # Cleartext passwords, especially for the rootdn, should
  15. # be avoided. See slappasswd() and slapd.conf() for details.
  16. # Use of strong authentication encouraged.
  17. # rootpw secret
  18. # rootpw {crypt}ijFYNcSNctBYg
  19. rootpw {SSHA}ToeOEviUjgqhRK7YYn3frPrdf6yAGETM # 将上面slappasswd 生成的密码写在这里
  20.  
  21. [root@node1 openldap]# rm -rf slapd.d/* # 删除原始的文件
  22. [root@node1 openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ # 重新生成一下,这里很重要
  23. config file testing succeeded
  24. [root@node1 openldap]# chown -R ldap:ldap /etc/openldap/slapd.d/ # 记得权限问题,不然启动服务会报错。
  25. [root@node1 openldap]# chown -R ldap:ldap /var/lib/ldap/
  26.  
  27. [root@node1 slapd.d]# service slapd start
  28. Starting slapd: [ OK ]
  29. [root@node1 slapd.d]# netstat -ntplu | grep slapd # ldap监听端口为tcp: 389
  30. tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 2633/slapd
  31. tcp 0 0 :::389 :::* LISTEN 2633/slapd
  32.  
  33. [root@node1 slapd.d]# yum install migrationtools -y
  34.  
  35. [root@node1 slapd.d]# cd /usr/share/migrationtools/
  36.  
  37. [root@node1 migrationtools]# mkdir /ldaphome
  38.  
  39. [root@node1 migrationtools]# useradd -d /ldaphome/ldapuser1 ldapuser1 # 创建ldap测试用户,ldap用户是基于服务端本地的用户
  40.  
  41. [root@node1 migrationtools]# echo redhat | passwd ldapuser1 --stdin # 设置登录密码
  42. Changing password for user ldapuser1.
  43. passwd: all authentication tokens updated successfully.
  44.  
  45. [root@node1 migrationtools]# ./migrate_base.pl > /tmp/base.ldif # 生成三个文件: base.ldif、passwd.ldif、group.ldif
  46.  
  47. [root@node1 migrationtools]# grep ldapuser1 /etc/passwd > /tmp/passwd.in
  48. [root@node1 migrationtools]# ./migrate_passwd.pl /tmp/passwd.in > /tmp/passwd.ldif
  49.  
  50. [root@node1 migrationtools]# grep ldapuser1 /etc/group > /tmp/group.in
  51. [root@node1 migrationtools]# ./migrate_group.pl /tmp/group.in > /tmp/group.ldif
  52.  
  53. [root@node1 migrationtools]# vim /tmp/base.ldif # 编辑base.ldif修改如下
  54.  
  55. dn: dc=super,dc=com
  56. dc: super
  57. objectClass: top
  58. objectClass: domain
  59.  
  60. dn: ou=People,dc=super,dc=com
  61. ou: People
  62. objectClass: top
  63. objectClass: organizationalUnit
  64.  
  65. dn: ou=Group,dc=super,dc=com
  66. ou: Group
  67. objectClass: top
  68. objectClass: organizationalUnit
  69.  
  70. [root@node1 migrationtools]# cat /tmp/passwd.ldif
  71. dn: uid=ldapuser1,ou=People,dc=super,dc=com
  72. uid: ldapuser1
  73. cn: ldapuser1
  74. objectClass: account
  75. objectClass: posixAccount
  76. objectClass: top
  77. objectClass: shadowAccount
  78. userPassword: {crypt}$6$3ZJY7iN1$N/RPvsQwIOH/chUV6B4K4V6ddSKWO0GcIBdB9nfWHPbkugS34L9zWBeOuQhiWtbuQ9svukuwY1qWvp8Nfr2V0/
  79. shadowLastChange: 16990
  80. shadowMin: 0
  81. shadowMax: 99999
  82. shadowWarning: 7
  83. loginShell: /bin/bash
  84. uidNumber: 500
  85. gidNumber: 500
  86. homeDirectory: /ldaphome/ldapuser1
  87.  
  88. [root@node1 migrationtools]# cat /tmp/group.ldif
  89. dn: cn=ldapuser1,ou=Group,dc=super,dc=com
  90. objectClass: posixGroup
  91. objectClass: top
  92. cn: ldapuser1
  93. userPassword: {crypt}x
  94. gidNumber: 500
  95.  
  96. [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/base.ldif
  97. Enter LDAP Password: # 注意这里如果很久都没有跳出来,请检查selinxu是否为Permissive状态,输入的密码为上面设置的redhat
  98. adding new entry "dc=super,dc=com"
  99.  
  100. adding new entry "ou=People,dc=super,dc=com"
  101.  
  102. adding new entry "ou=Group,dc=super,dc=com"
  103.  
  104. # 把三个文件导入ldap,这样ldap数据库里就有我们想要是用户
  105. [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/passwd.ldif
  106. Enter LDAP Password:
  107. adding new entry "uid=ldapuser1,ou=People,dc=super,dc=com"
  108.  
  109. [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/group.ldif
  110. Enter LDAP Password:
  111. adding new entry "cn=ldapuser1,ou=Group,dc=super,dc=com"
  112.  
  113. 这样就已经配置一个ldapuser1用户为ldap用户。
  114.  
  115. [root@node1 ~]# yum install nfs-utils -y # 配置nfs服务器,将ldapuser1家目录共享出去。
  116.  
  117. [root@node1 ~]# vim /etc/exports
  118.  
  119. /ldaphome 192.168.118.0/24(rw,async,root_squash)
  120.  
  121. [root@node1 ~]# service rpcbind start
  122. Starting rpcbind: [ OK ]
  123. [root@node1 ~]# service nfs start
  124. Starting NFS services: [ OK ]
  125. Starting NFS mountd: [ OK ]
  126. Starting NFS daemon: [ OK ]
  127. Starting RPC idmapd: [ OK ]

2. 配置ldap client端

配置setup内容,建议使用setup命令直接配置。

  1. 配置setup内容,建议使用setup命令直接配置。
  2. [root@node2 ~]# yum install setuptool -y # 安装setup包
  3. [root@node2 ~]# setup # 直接运行setup进行配置
  4.  
  5. Authentication configuration

  安装这样的选项

  这里缺少什么组件就安装什么     yum install /lib64/security/pam_fprintd.so -y

  这里不使用 TLS Server为服务器地址,DN为主配置文件中的配置

  1. setup配置完成就可以尝试登录ldapuser1
  2.  
  3. [root@node2 ~]# su - ldapuser1
  4. su: warning: cannot change directory to /ldaphome/ldapuser1: No such file or directory
  5. -bash-4.1$
  6. 这里已经登录成功,表示ldap服务工作正常了,只是在客户端登录没有找到家目录。这里通过autofs方式,登录时自动挂载家目录
  7.  
  8. [root@node2 ~]# yum install nfs-utils -y # 安装nfs-utils 使用showmount 查看服务器共享目录
  9.  
  10. [root@node2 ~]# showmount -e 192.168.118.14 # 查看到node1共享了/ldaphome
  11. Export list for 192.168.118.14:
  12. /ldaphome 192.168.118.0/
  13.  
  14. [root@node2 ~]# yum install autofs -y # 安装autofs包
  15.  
  16. [root@node2 ~]# vim /etc/auto.master
  17. /ldaphome /etc/auto.nfs # 添加一条新的规则
  18.  
  19. [root@node2 ~]# vim /etc/auto.nfs # 添加自动挂载的规则
  20.  
  21. * -fstype=nfs,rw,async 192.168.118.14:/ldaphome/& # 挂载192.168.118.:/ldaphome/到本地的/ldaphome
  22.  
  23. [root@node2 ~]# service autofs start # 启动autofs服务
  24. Loading autofs4: [ OK ]
  25. Starting automount: [ OK ]
  26.  
  27. [root@node2 ~]# su - ldapuser1 # 直接测试
  28. [ldapuser1@node2 ~]$ pwd
  29. /ldaphome/ldapuser1
  30.  
  31. [ldapuser1@node2 ~]$ df
  32. Filesystem 1K-blocks Used Available Use% Mounted on
  33. /dev/mapper/VolGroup-lv_root
  34. % /
  35. tmpfs % /dev/shm
  36. /dev/sda1 % /boot
  37. /dev/sr0 % /mnt/iso
  38. 192.168.118.14:/ldaphome/ldapuser1
  39. % /ldaphome/ldapuser1
  40.  
  41. 查看上面已经挂载成功。

[ LDAP ] LDAP服务搭建及应用的更多相关文章

  1. LDAP 服务搭建和后期管理

    LDAP 服务 本文主要在debian配置,如果需要在CentOS上部署,需要修改大部分的路劲,这里需要自行修改. LDAP 服务按照个人理解,也可使理解为一个数据库,但是这个数据库的读写性能不像 M ...

  2. 管理员技术(五): 配置文档的访问权限、 配置附加权限、绑定到LDAP验证服务、配置LDAP家目录漫游

    一.配置文档的访问权限 问题: 本例要求将文件 /etc/fstab 拷贝为 /var/tmp/fstab,并调整文件 /var/tmp/fstab的权限,满足以下要求: 1>  此文件的拥有者 ...

  3. 常用服务搭建(nfs/ftp/samba)

    一. NFS1. NFS简介NFS全称是network file systemNFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. 假 ...

  4. OPENLDAP 服务搭建和后期管理

    LDAP 服务 本文首发:https://www.cnblogs.com/somata/p/OPENLDAPServerConfigAndPostManagement.html 本文主要在debian ...

  5. ServiceStack.Hello——跨平台.net REST api服务搭建

    ServiceStack.Hello--跨平台.net REST api服务搭建 自己创建: https://github.com/ServiceStack/ServiceStack/wiki/Cre ...

  6. WCFRESTFul服务搭建及实现增删改查

    WCFRESTFul服务搭建及实现增删改查 RESTful Wcf是一种基于Http协议的服务架构风格,  RESTful 的服务通常是架构层面上的考虑. 因为它天生就具有很好的跨平台跨语言的集成能力 ...

  7. 微信小程序语音识别服务搭建全过程解析(项目开源在github)

    silk v3录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) ## 重要的写在前面 重要事项一: 目前本文中提到的API已支持微信小程序录音文件格式:silk v ...

  8. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  9. Git服务搭建及github使用教程

    .pos { position: fixed; top: 35%; left: 90% } .pos a { border: 2px solid white; background: #99CCFF; ...

随机推荐

  1. jqprint导入jqgrid表格时,内容溢出的原因以及解决方法

    jqprint在导入表格的时候,会将原表格的样式全部拉过来,所以说原表格(如jqgrid的表格)的内容在有滚动条的时候,必须得将宽度设置为100%(等百分比的宽度),不能设置成固定宽度,不然表格内容会 ...

  2. NO10——各种欧几里得

    int gcd(int n,int m)//n>m { //最大公约数 int r; while(m) { r = n%m; n = m; m = r; } return n; } int kg ...

  3. java线程(5)——线程池(上)

    引入: 在之前的例子中,我们需要使用线程时就直接去创建一个线程,这样既不浪费资源又十分方便.但如果我们需要创建多个并发的线程,而且短时间执行就结束了,如果还用之前的方式,就会大大降低效率和性能了. 因 ...

  4. (转)部署MongoDB时需要注意的调参

    部署MongoDB的生产服务器,给出如下相关建议: 使用虚拟化环境: 系统配置 1)推荐RAID配置 RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列 ...

  5. ES索引

    Elasticsearch索引别名.Filtered索引别名.Template 在使用elasticsearch的时候,经常会遇到需要淘汰掉历史数据的场景. 为了方便数据淘汰,并使得数据管理更加灵活, ...

  6. CSS继承—深入剖析

    CSS的继承是指被包在内部的标签将拥有外部标签的样式性质.继承特性最典型的应用通常发挥在整个网页的样式预设,即整体布局声明.而需要要指定为其它样式的部份设定在个别元素里即可达到效果.这项特性可以给网页 ...

  7. Antlr 在 idea 中正确使用的方式

    问题 Caused by: java.io.InvalidClassException: org.antlr.v4.runtime.atn.ATN; Could not deserialize ATN ...

  8. HDU 多校对抗 F Naive Operations

    Naive Operations Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 502768/502768 K (Java/Other ...

  9. Java中文乱码问题(转)

    解决JSP中文乱码问题 大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考.首先了解一下Java中文问题的由来: Ja ...

  10. Oracle SQL 疑难解析读书笔记(二、汇总和聚合数据)

    2.1 对某字段的值进行汇总 仅仅在两种特殊情况下,Oracle在聚合函数中考虑了NULL值.第一种是在GROUPING功能里,用来检验包含了NULL值的分析函数的结果,是直接由所在的表得来,还是由分 ...