配置Linux使用LDAP用户认证的方法

我这里使用的是CentOS完成的LDAP用户管理,可能与网上的大部分教程不同,不过写出来了,那么是肯定能用的了,不过会有部分文件,忘指教。
这里使用的 OPENLdap 配合 CentOS7 完成的用户管理,需要配置 nssswitch 、pam 和 sssd 3个服务,需要先有一定的了解才能完成本文的配置。

基础配置#

1.完成yum源的配置

?

 

1.安装必要软件

 

?

OPENLdap服务部分配置#

初始化过程就不再过多赘述,详细查询《OPENLDAP 服务搭建和后期管理》。

1.首先停止数据库服务:

systemctl stop slapd

1.然后编辑文件:

?

1.编写slapd的配置文件。这里的配置文件是从 /usr/share/openldap-servers/slapd.ldif 中演变而来的,主要修改了baseDN(suffix), OPENLDAPTLS,olcRootPW(密码由 slappasswd 生成,本文中的密码为: 123456) 和 include。

?

 

1.配置OPENSSL的证书。为openldap服务器的加密隧道使用。

?

 

1.根据配置生成服务器的配置文件

 

?

1.导入至数据库

 

?

1.那么再使用apache directory studio来查看 服务器是否配置成功。

首先先将防火墙开启

firewall-cmd --add-service=ldap

配置Linux使用LDAP用户认证的方法

1.我们这里先导入一个用户用于后面的测试使用

配置Linux使用LDAP用户认证的方法

配置Linux使用LDAP用户认证的方法

Linux 用户认证部分配置#

我这里设计的用户认证和解析是这样完成的:

配置Linux使用LDAP用户认证的方法

与网上其他人写的会有所不同,需要注意。

NSS服务配置#

如果想使 nss 可以查询ldap,那么首先就需要启用一个叫 nslcd 的服务, 以下是该服务的配置文件。

?

 

启动服务

?

 

配置nss

 

?

测试是否可用:

?

 

PAM服务配置#

pam模块已经有通过SSSD认证的相关模块配置了,我们这里引用以下即可。

?

 

PAM不用进行服务重启,直接可以使用

sssd服务配置#

针对LDAP用户登入,PAM配置会将其转发给SSSD,由SSSD来认证用户。下面就是sssd.conf 的配置文件了:

 

?

配置启动服务,并且设置开机自启动。

?

测试#

那么这样用户认证的部分就制作好了,那么现在来测试一下:
因为配置的 system-auth 文件,并没有配置 ssh 文件,所以ssh是连接不进去的。这里使用login来测试可行性。

配置Linux使用LDAP用户认证的方法

 这里我们也能看到,用户时能登入了的,还有一个瑕疵就是提示没有家目录下面通过脚本来解决。

脚本#

我为这个LDAP用户认证写了一个脚本,方便添加用户。我这里还是要强调一下,CentOS虽然有提供 migrationtools 工具用于将用户存放至LDAP数据库,但是如果你把本地用户全都提到 LDAP 数据库,不保留本地用户,那么你就会发现,电脑就会无法重启了,所以推荐不要把UID小于1000的用户存放到 LDAP 服务器。

注:该脚本必须在搭建好上述环境后才可使用,其余环境可能有未知问题。
脚本放在gitee上了。https://gitee.com/somata/script/blob/master/ldap_adduser.sh

使用方法很简单

配置Linux使用LDAP用户认证的方法

然后再测试一下这个添加的用户是否可以登入:

配置Linux使用LDAP用户认证的方法

总结

以上所述是小编给大家介绍的配置Linux使用LDAP用户认证,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

原文链接:https://www.cnblogs.com/somata/p/LinuxLDAPUserAuthentication.html



相关文章
推荐文章
热门文章

微信公众号推荐

相关推荐