• Linux下LDAP用户认证,自动挂载网络共享文件系统


    服务器端:

      CentOS 7.4

      hostname:node1.lushenle.com

      IP:172.16.100.40

    客户端:

      CentOS 7.4

      hostname:node2.lushengle.com

      IP:172.16.100.41

    服务器端与客户端防火墙都为启用状态,selinux为enforcing状态

    LDAP用户认证服务安装:
      1.安装LDAP服务端软件包
        # yum install -y openldap openldap-clients openldap-servers migrationtools

      2.设置LDAP服务器全局连接密码
        # slappasswd -s manunkind -n > /etc/openldap/passwd
        # cat /etc/openldap/passwd

      3.建立x509认证本地LDAP服务密钥
        # openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
          ```server's hostname一定要与主机名相同```
          Common Name (eg, your name or your server's hostname) []:node1.lushenle.com
          Email Address []:root@node1.lushenle.com
        # cd /etc/openldapcerts

      4.设置LDAP密钥权限
        # chown ldap.ldap *.pem
        # chmod 600 priv.pem

      5.生成LDAP基础数据库并设置权限
        # cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
        # cat !$
        # slaptest
        # cd /var/lib/ldap
        # ll
        # chown ldap.ldap *

      6.启动LDAP后台服务
        # systemctl start slapd
        # systemctl enable slapd

      7.设置防火墙规则允许LDAP服务被连接
        # firewall-cmd --permanent --add-service=ldap
        # firewall-cmd --reload

      8.设置LDAP日志文件,保存日志信息
        # vim /etc/rsyslog.conf
          配置文件末尾加入 local4.* /var/log/ldap.log
        # systemctl restart rsyslog

    配置LDAP本地服务域
      1.配置基础用户认证结构
        # 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

      2.配置自定义结构文件并导出LDAP服务器
        # vim base.ldif 

     1 #base.ldif
     2 dn: dc=lushenle,dc=com
     3 dc: lushenle
     4 objectClass: top
     5 objectClass: domain
     6 
     7 dn: ou=People,dc=lushenle,dc=com
     8 ou: People
     9 objectClass: top
    10 objectClass: organizationalUnit
    11 
    12 dn: ou=Group,dc=lushenle,dc=com
    13 ou: Group
    14 objectClass: top
    15 objectClass: organizationalUnit

        # vim changes.ldif

     1 #changes.ldif
     2 dn: olcDatabase={2}hdb,cn=config
     3 changetype: modify
     4 replace: olcSuffix
     5 olcSuffix: dc=lushenle,dc=com
     6 
     7 dn: olcDatabase={2}hdb,cn=config
     8 changetype: modify
     9 replace: olcRootDN
    10 olcRootDN: cn=Manager,dc=lushenle,dc=com
    11 
    12 dn: olcDatabase={2}hdb,cn=config
    13 changetype: modify
    14 replace: olcRootPW
    15 olcRootPW: manunkind
    16 
    17 dn: cn=config
    18 changetype: modify
    19 replace: olcTLSCertificateFile
    20 olcTLSCertificateFile: /etc/openldap/certs/cert.pem
    21 
    22 dn: cn=config
    23 changetype: modify
    24 replace: olcTLSCertificateKeyFile
    25 olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem
    26 
    27 dn: cn=config
    28 changetype: modify
    29 replace: olcLogLevel
    30 olcLogLevel: -1
    31 
    32 dn: olcDatabase={1}monitor,cn=config
    33 changetype: modify
    34 replace: olcAccess
    35 olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=lushenle,dc=com" read by * none

        ```需要注意的是每一行后面都不能有空格```

        # ldapmodify -Y EXTERNAL -H ldapi:/// -f changes.ldif
        # ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f base.ldif

      3.创建本地用户及本地用户目录
        ```先添加30个用户吧```
        # vim useradd.sh

     1 #!/bin/bash
     2 #useradd 
     3 mkdir /home/guests
     4 for i in $(seq 1 30); do
     5     useradd -d /home/guests/ldapuser$i ldapuser$i
     6 done
     7 
     8 for i in $(seq 1 30); do
     9     echo ldapuser$i | passwd --stdin ldapuser$i
    10 done

        # bash -x useradd.sh

      4.将本地用户认证信息导入LDAP服务器
        # cd /usr/share/migrationtools/
        # vim migrate_common.ph
          $DEFAULT_MAIL_DOMAIN = "padl.com"; 修改为 $DEFAULT_MAIL_DOMAIN = "lushenle.com";
          $DEFAULT_BASE = "dc=padl,dc=com"; 修改为 $DEFAULT_BASE = "dc=lushenle,dc=com";
        # cat /etc/passwd | grep ":10[0-9][0-9]" > /root/passwd
        # vim passwd #去掉非ldapuser的用户

        # ./migrate_passwd.pl /root/passwd /root/passwd.ldif
        # cat /root/passwd.ldif
        # ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f /root/passwd.ldif

        # cat /etc/group | grep ":10[0-9][0-9]" > /root/group
        # vim /root/group #去掉非ldapuser的用户组

        # ./migrate_group.pl /root/group /root/group.ldif
        # cat /root/group.ldif
        # ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f /root/group.ldif

      5.测试LDAP服务器用户认证信息
        # ldapsearch -x cn=ldapuser1 -b dc=lushenle,dc=com

    LDAP客户端:
      1.安装LDAP客户端软件包
        # yum install -y openldap-clients nss-pam-ldapd

      2.配置本地认证方式为LDAP
        # authconfig-tui #通过其来配置,或安装authconfig-gtk来完成配置,其为图形化,ssh登录的时候需要加-X选项

      3.测试LDAP网络用户信息验证
        # getent passwd ldapuser1

    LDAP网络用户目录共享
      1.LDAP服务端NFS共享
        # yum install -y nfs-utils
        # systemctl enable nfs-server
        # systemctl start nfs-server
        # vim /etc/exports
          /home/guests 172.16.0.0/16(rw)
        # exportfs -rv
        # exportfs -v

      2.LDAP服务端NFS防火墙设置
        # firewall-cmd --permanent --add-service=nfs
        # firewall-cmd --reload

    LDAP客户端用户目录自动挂载配置
      1.LDAP客户端自动挂载服务软件包安装
        # yum install autofs nfs-utils -y

      2.LDAP客户端自动挂载服务配置
        # vim /etc/auto.guests
          * -rw,nfs4 node1.lushenle.com:/home/guests/&

        # vim /etc/auto.master
        文件末尾加入 /home/guests /etc/auto.guests

      3.自动挂载服务启动
        # systemctl enable autofs
        # systemctl start autofs

      4.LDAP网络用户本地登录验证自动挂载
        # su - ldapuser1
        # mount
        # pwd

  • 相关阅读:
    angularjs 自定义map服务
    js sort升序,降序排序
    jQuery根据元素值删除数组元素的方法
    传统service的上传文件,并生成8级存储文件夹方式
    shiro实现登录安全认证
    JAVA Web 项目中用到的技术
    每天进步一点,积累一点
    Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/config/springdemo-config.xml]
    C++ LINK 2019 error, LINK 2038 error, C4330.error
    关于map 容器insert顺序
  • 原文地址:https://www.cnblogs.com/lushengle/p/8284643.html
Copyright © 2020-2023  润新知