• [ LDAP ] LDAP服务搭建及应用


    ldap 搭建及应用

    node1: 192.168.118.14
    node2: 192.168.118.25

    ldap server : 192.168.118.14

    1. 安装LDAP服务器

    [root@node1 ~]# yum install openldap-servers -y     # 安装ldap服务器端软件
    [root@node1 openldap]# cp -a /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf  # 主配置文件
    [root@node1 openldap]# cp -a /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
    [root@node1 openldap]# slappasswd       # 生成加密密码
    New password: 
    Re-enter new password: 
    {SSHA}ToeOEviUjgqhRK7YYn3frPrdf6yAGETM
    
    
    [root@node1 openldap]# vim slapd.conf      # 修改主配置文件的dc
    114 database    bdb
    115 suffix      "dc=super,dc=com"
    116 checkpoint  1024 15
    117 rootdn      "cn=Manager,dc=super,dc=com"
    118 # Cleartext passwords, especially for the rootdn, should
    119 # be avoided.  See slappasswd(8) and slapd.conf(5) for details.
    120 # Use of strong authentication encouraged.
    121 # rootpw        secret
    122 # rootpw        {crypt}ijFYNcSNctBYg
    123 rootpw          {SSHA}ToeOEviUjgqhRK7YYn3frPrdf6yAGETM     # 将上面slappasswd 生成的密码写在这里
    
    [root@node1 openldap]# rm -rf slapd.d/*     # 删除原始的文件
    [root@node1 openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/     # 重新生成一下,这里很重要
    config file testing succeeded
    [root@node1 openldap]# chown -R ldap:ldap /etc/openldap/slapd.d/     # 记得权限问题,不然启动服务会报错。
    [root@node1 openldap]# chown -R ldap:ldap /var/lib/ldap/
    
    [root@node1 slapd.d]# service slapd start
    Starting slapd:                                            [  OK  ]
    [root@node1 slapd.d]# netstat -ntplu | grep slapd     # ldap监听端口为tcp: 389
    tcp        0      0 0.0.0.0:389                 0.0.0.0:*                   LISTEN      2633/slapd          
    tcp        0      0 :::389                      :::*                        LISTEN      2633/slapd 
    
    [root@node1 slapd.d]# yum install migrationtools -y
    
    [root@node1 slapd.d]# cd /usr/share/migrationtools/
    
    [root@node1 migrationtools]# mkdir /ldaphome
    
    [root@node1 migrationtools]# useradd -d /ldaphome/ldapuser1 ldapuser1     # 创建ldap测试用户,ldap用户是基于服务端本地的用户
    
    [root@node1 migrationtools]# echo redhat | passwd ldapuser1 --stdin     # 设置登录密码
    Changing password for user ldapuser1.
    passwd: all authentication tokens updated successfully.
    
    [root@node1 migrationtools]# ./migrate_base.pl > /tmp/base.ldif         # 生成三个文件: base.ldif、passwd.ldif、group.ldif
    
    [root@node1 migrationtools]# grep ldapuser1 /etc/passwd > /tmp/passwd.in
    [root@node1 migrationtools]# ./migrate_passwd.pl /tmp/passwd.in > /tmp/passwd.ldif
    
    [root@node1 migrationtools]# grep ldapuser1 /etc/group > /tmp/group.in
    [root@node1 migrationtools]# ./migrate_group.pl /tmp/group.in > /tmp/group.ldif
    
    [root@node1 migrationtools]# vim /tmp/base.ldif     # 编辑base.ldif修改如下
    
    dn: dc=super,dc=com
    dc: super
    objectClass: top
    objectClass: domain
    
    dn: ou=People,dc=super,dc=com
    ou: People
    objectClass: top
    objectClass: organizationalUnit
    
    dn: ou=Group,dc=super,dc=com
    ou: Group
    objectClass: top
    objectClass: organizationalUnit
    
    
    [root@node1 migrationtools]# cat /tmp/passwd.ldif 
    dn: uid=ldapuser1,ou=People,dc=super,dc=com
    uid: ldapuser1
    cn: ldapuser1
    objectClass: account
    objectClass: posixAccount
    objectClass: top
    objectClass: shadowAccount
    userPassword: {crypt}$6$3ZJY7iN1$N/RPvsQwIOH/chUV6B4K4V6ddSKWO0GcIBdB9nfWHPbkugS34L9zWBeOuQhiWtbuQ9svukuwY1qWvp8Nfr2V0/
    shadowLastChange: 16990
    shadowMin: 0
    shadowMax: 99999
    shadowWarning: 7
    loginShell: /bin/bash
    uidNumber: 500
    gidNumber: 500
    homeDirectory: /ldaphome/ldapuser1
    
    
    [root@node1 migrationtools]# cat /tmp/group.ldif 
    dn: cn=ldapuser1,ou=Group,dc=super,dc=com
    objectClass: posixGroup
    objectClass: top
    cn: ldapuser1
    userPassword: {crypt}x
    gidNumber: 500
    
    
    [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/base.ldif 
    Enter LDAP Password:             # 注意这里如果很久都没有跳出来,请检查selinxu是否为Permissive状态,输入的密码为上面设置的redhat
    adding new entry "dc=super,dc=com"
    
    adding new entry "ou=People,dc=super,dc=com"
    
    adding new entry "ou=Group,dc=super,dc=com"
    
    # 把三个文件导入ldap,这样ldap数据库里就有我们想要是用户
    [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/passwd.ldif 
    Enter LDAP Password: 
    adding new entry "uid=ldapuser1,ou=People,dc=super,dc=com"
    
    [root@node1 migrationtools]# ldapadd -x -D 'cn=Manager,dc=super,dc=com' -W -f /tmp/group.ldif 
    Enter LDAP Password: 
    adding new entry "cn=ldapuser1,ou=Group,dc=super,dc=com"
    
    这样就已经配置一个ldapuser1用户为ldap用户。
    
    [root@node1 ~]# yum install nfs-utils -y     # 配置nfs服务器,将ldapuser1家目录共享出去。
    
    [root@node1 ~]# vim /etc/exports 
    
    /ldaphome 192.168.118.0/24(rw,async,root_squash)
    
    [root@node1 ~]# service rpcbind start
    Starting rpcbind:                                          [  OK  ]
    [root@node1 ~]# service nfs start
    Starting NFS services:                                     [  OK  ]
    Starting NFS mountd:                                       [  OK  ]
    Starting NFS daemon:                                       [  OK  ]
    Starting RPC idmapd:                                       [  OK  ]

    2. 配置ldap client端

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

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

      安装这样的选项

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

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

    setup配置完成就可以尝试登录ldapuser1
    
    [root@node2 ~]# su - ldapuser1
    su: warning: cannot change directory to /ldaphome/ldapuser1: No such file or directory
    -bash-4.1$ 
    这里已经登录成功,表示ldap服务工作正常了,只是在客户端登录没有找到家目录。这里通过autofs方式,登录时自动挂载家目录
    
    
    
    [root@node2 ~]# yum install nfs-utils -y     # 安装nfs-utils 使用showmount 查看服务器共享目录
    
    [root@node2 ~]# showmount -e 192.168.118.14     # 查看到node1共享了/ldaphome
    Export list for 192.168.118.14:
    /ldaphome 192.168.118.0/24
    
    [root@node2 ~]# yum install autofs -y     # 安装autofs包
    
    [root@node2 ~]# vim /etc/auto.master
    /ldaphome  /etc/auto.nfs     # 添加一条新的规则
    
    [root@node2 ~]# vim /etc/auto.nfs      # 添加自动挂载的规则
    
    * -fstype=nfs,rw,async  192.168.118.14:/ldaphome/&         # 挂载192.168.118.14:/ldaphome/到本地的/ldaphome 
    
    [root@node2 ~]# service autofs start     # 启动autofs服务
    Loading autofs4:                                           [  OK  ]
    Starting automount:                                        [  OK  ]
    
    [root@node2 ~]# su - ldapuser1     # 直接测试
    [ldapuser1@node2 ~]$ pwd
    /ldaphome/ldapuser1
    
    [ldapuser1@node2 ~]$ df
    Filesystem           1K-blocks    Used Available Use% Mounted on
    /dev/mapper/VolGroup-lv_root
                          18003272  838212  16243872   5% /
    tmpfs                   502384       0    502384   0% /dev/shm
    /dev/sda1               487652   33246    428806   8% /boot
    /dev/sr0               3803432 3803432         0 100% /mnt/iso
    192.168.118.14:/ldaphome/ldapuser1
                          18003328  802432  16279680   5% /ldaphome/ldapuser1
    
    查看上面已经挂载成功。
  • 相关阅读:
    vue项目中引用spreadjs方法
    使用Element的table合并单元格的问题(合并行)
    卸载mysql
    mac 下安装mySQL
    react中界面跳转 A界面跳B界面,返回A界面,A界面状态保持不变 localStorage方法
    react点击弹出带出值和点击跳转页面带出值
    ajax优缺点
    vue项目console.log报错
    性能优化
    对象生命周期
  • 原文地址:https://www.cnblogs.com/hukey/p/5779069.html
Copyright © 2020-2023  润新知