Centos7.6客户端开启ldap认证登陆

服务端搭建Openldap,并创建post用户,我们现在进行Centos7.6设置post用户进行登陆。

部署前环境确认:

  • 操作系统:Centos7.6
  • 安装前环境操作:
    1、关闭防火墙以及selinux,并重启生效。
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config && systemctl disable firewalld && reboot

2、安装ntp时间服务器,进行时间校对(可选)

yum -y install ntp

流程:

一、安装相关的包,
二、设置openldap的服务端。
三、切换用户。
四、遇到问题以及解决方法。


一、安装相关的包。

1、在开启ldap认证前客户端提示缺少ldap.so.2文件,需要安装ldap.so.2安装如下工具
yum install nss-pam-ldapd

二、设置openldap的服务端,使用空格键选择如下两个选项,并‘Next’。

$ authconfig-tui 

Centos7.6客户端开启ldap认证登陆_第1张图片
开启ldap客户端认证

填写openldp服务端的基本信息,并点击'OK'
Centos7.6客户端开启ldap认证登陆_第2张图片
填写ldapip以及DN

查看用 post用户。

[[email protected] /home]$ getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
nslcd:x:65:55:LDAP Client User:/:/sbin/nologin
post:*:10000:10000:post:/home/post:/bin/bash

三、切换post用户,提示切换用户成功,提示用户的家目录没有进行创建。

[[email protected] /home]$ 
[[email protected] /home]$ sudo su - post
Last login: Thu May  9 18:58:54 CST 2019 from 10.18.224.186 on pts/3
su: warning: cannot change directory to /home/post: No such file or directory
[[email protected] /home]$ 

远程ssh输入密码,没有切换过去。

四、遇到问题以及解决方法。

1、客户端配置好openldpa认证后,getent passwd能看到用户post,进行ssh或者切换到此用户下Could not chdir to home directory/home/ldaptest: No such file or directory

第一种方法通过autofs+NFS部署实现,另一种方法通过增加模块实现(推荐)
我们这里选择添加pam模块(pam_mkhomedir.so)进行演示,在/etc/pam.d/sshd配置文件中添加如下信息:

$ vim /etc/pam.d/sshd 
session    required     pam_mkhomedir.so  skel=/etc/skel/ umask=0022

2、远程输入密码,但是没有切换过去。
解决方法:在客户端机器上,切换到登录用户,在切换到root下,输入密码。远程就可以切换过去。

3、设置openldap认证后,要特定的用户(post)使用特定的openldap上的 用户的方法:
centos实现:
linux下关闭root登录(可选):
PermitRootLogin no

给用户提权 :
visudo
添加post用户如下:
post ALL=(ALL) ALL

只允许特定用户或者特定组登录: /etc/nslcd.conf, 编辑 nnslcd.conf文件,添加如下信息,按实际的gidNumber以及uidNumber填写。
filter passwd (gidNumber=10000)
filter passwd (uidNumber=10000)

你可能感兴趣的:(Centos7.6客户端开启ldap认证登陆)