zoukankan      html  css  js  c++  java
  • OpenLDAP认证及autofs

    OpenLDAP认证及autofs

    参考文档:




    服务端
    A.准备用户
    1.新增若干用户
    mkdir /opt/ldapusers
    for i in {1..15}
    do
        useradd -d /opt/ldapusers/foo$i foo$i
        echo foo$i:foopwd|chpasswd
    done

    2.安装migrationtools并配置迁移域

    yum -y install migrationtools

    sed -i '/^$DEFAULT_MAIL_DOMAIN/c $DEFAULT_MAIL_DOMAIN = "example.com";' /usr/share/migrationtools/migrate_common.ph
    sed -i '/^$DEFAULT_BASE/c $DEFAULT_BASE = "dc=example,dc=com";' /usr/share/migrationtools/migrate_common.ph 

    3.生成ldif
    grep foo /etc/passwd >user.txt
    grep foo /etc/group >group.txt
    /usr/share/migrationtools/migrate_passwd.pl user.txt user.ldif
    /usr/share/migrationtools/migrate_group.pl group.txt group.ldif
    /usr/share/migrationtools/migrate_base.pl >base.ldif

    4.从ldif导入本地用户到openldap

    ldapadd -x -c -D  'cn=Manager,dc=example,dc=com' -w secret -f base.ldif 

    ldapadd -x -c -D  'cn=Manager,dc=example,dc=com' -w secret -f user.ldif 

    ldapadd -x -c -D  'cn=Manager,dc=example,dc=com' -w secret -f group.ldif 

    OpenLDAP认证及autofs

    B.配置nfs共享

    echo '/opt/ldapusers 192.168.8.0/24(rw,sync)' >>/etc/exports

    systemctl restart nfs

    systemctl enable nfs-server



    客户端
    1.加入到openldap

    yum -y install nss-pam-ldapd


    方式一:authconfig
    authconfig --enableldap --enableldapauth --enablemkhomedir --ldapserver=192.168.8.254 --ldapbasedn="dc=example,dc=com" --update
    静默加入ldap
    方式二:authconfig-tui
    OpenLDAP认证及autofs
    OpenLDAP认证及autofs
    方式三:authconfig-gtk(略)

    2.配置autofs自动挂载
    yum -y install nfs-utils autofs

    echo '/opt/ldapusers /etc/auto.openldap' >>/etc/auto.master

     

    echo '* -rw,soft,intr 192.168.8.254:/opt/ldapusers/&' >>/etc/auto.openldap

    systemctl restart autofs

    提示:
    对/etc/auto.nfs文件使用*及&通配符时,/etc/auto.master里的挂载点必须与服务器的挂载点同名同目录/nfshome,否则客户端su – 切换时会提示找不到目录。
    不建议把ldap用户直接创建在/home文件夹里。否则由于/etc/auto.nfs文件里的*及&符号的自动匹配的作用,客户autofs会自动在内存中创建/home目录,会隐藏掉实际的/home目录。

    3.ldap用户登录

    [root@metaq01 ~]# getent passwd

    root:x:0:0:root:/root:/bin/bash

    ... ...

    nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

    foo1:x:1006:1006:foo1:/opt/ldapusers/foo1:/bin/bash

    foo2:x:1007:1007:foo2:/opt/ldapusers/foo2:/bin/bash

    foo3:x:1008:1008:foo3:/opt/ldapusers/foo3:/bin/bash

    foo4:x:1009:1009:foo4:/opt/ldapusers/foo4:/bin/bash

    foo5:x:1010:1010:foo5:/opt/ldapusers/foo5:/bin/bash

    foo6:x:1011:1011:foo6:/opt/ldapusers/foo6:/bin/bash

    foo7:x:1012:1012:foo7:/opt/ldapusers/foo7:/bin/bash

    foo8:x:1013:1013:foo8:/opt/ldapusers/foo8:/bin/bash

    foo9:x:1014:1014:foo9:/opt/ldapusers/foo9:/bin/bash

    foo10:x:1015:1015:foo10:/opt/ldapusers/foo10:/bin/bash

    foo11:x:1016:1016:foo11:/opt/ldapusers/foo11:/bin/bash

    foo12:x:1017:1017:foo12:/opt/ldapusers/foo12:/bin/bash

    foo13:x:1018:1018:foo13:/opt/ldapusers/foo13:/bin/bash

    foo14:x:1019:1019:foo14:/opt/ldapusers/foo14:/bin/bash

     

    foo15:x:1020:1020:foo15:/opt/ldapusers/foo15:/bin/bash

    [root@metaq01 ~]# su - foo8

    [foo8@metaq01 ~]$ logout

    [root@metaq01 ~]# su - foo12

    [foo12@metaq01 ~]$ logout

    [root@metaq01 ~]# su - foo3

    [foo3@metaq01 ~]$ pwd

    /opt/ldapusers/foo3

    [foo3@metaq01 ~]$ mount

    proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

    devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=732784k,nr_inodes=183196,mode=755)

    devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

    tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,size=742424k,nr_inodes=185606,mode=755)

    tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,size=742424k,nr_inodes=185606,mode=755)

    cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

    /dev/mapper/vg0-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

    /etc/auto.misc on /misc type autofs (rw,relatime,fd=6,pgrp=2731,timeout=300,minproto=5,maxproto=5,indirect)

    -hosts on /net type autofs (rw,relatime,fd=12,pgrp=2731,timeout=300,minproto=5,maxproto=5,indirect)

    /etc/auto.openldap on /opt/ldapusers type autofs (rw,relatime,fd=18,pgrp=2731,timeout=300,minproto=5,maxproto=5,indirect)

    192.168.8.254:/opt/ldapusers/foo3 on /opt/ldapusers/foo3 type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,soft,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.8.101,local_lock=none,addr=192.168.8.254)

  • 相关阅读:
    JDK8的JVM内存模型小结
    揭开Service Mesh的神秘面纱
    通过Shell脚本读取properties文件中的参数时遇到 换行符的问题
    NodeJs+Express实现简单的Web增删改查
    SpringBoot之Thymeleaf模板引擎
    面向对象(下)
    内部类
    线程学习oneday
    Python-使用tkinter实现的Django服务进程管理工具
    Python-使用百度文字识别API实现的文字识别工具
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814042.html
Copyright © 2011-2022 走看看