Linux如何配置LDAP认证_Linux集中用户认证系统搭建【企业】

需配置LDAP认证实现跨Linux服务器单点登录:一、安装openldap-clients与nss-pam-ldapd;二、配置nslcd连接LDAP服务器;三、修改nsswitch.conf启用LDAP用户解析;四、配置PAM加载pam_ldap.so;五、调整SSH与PAM支持LDAP用户远程登录及家目录自动创建。

如果您的企业需要统一管理用户身份并实现跨Linux服务器的单点登录,则可能需要在Linux系统中配置LDAP认证。以下是完成此配置的具体步骤:

一、安装OpenLDAP客户端工具和PAM模块

为使Linux系统能够与LDAP服务器通信并支持用户认证,需安装必要的客户端软件包及可插拔认证模块(PAM)支持组件。这些工具提供LDAP查询能力与系统级登录集成基础。

1、执行命令安装openldap-clients和nss-pam-ldapd软件包:yum install -y openldap-clients nss-pam-ldapd(CentOS/RHEL)。

2、对于Debian/Ubuntu系统,运行:apt-get install -y ldap-utils libnss-ldapd libpam-ldapd

3、确认安装后相关二进制文件存在:ldapsearchgetent passwd 应可调用。

二、配置nslcd服务连接LDAP服务器

nslcd(Name Service LDAP Daemon)是NSS层与LDAP交互的核心守护进程,负责将系统用户查询请求转发至LDAP目录,并缓存响应以提升性能。

1、编辑主配置文件:/etc/nslcd.conf,设置LDAP服务器地址:uri ldap://192.168.10.5/

2、指定基础搜索DN:base dc=example,dc=com,该值须与LDAP服务器中实际目录结构一致。

3、配置绑定凭据(如使用简单认证):binddn cn=admin,dc=example,dc=combindpw secret123

4、启动并启用服务:systemctl start nslcd && systemctl enable nslcd

三、修改NSS配置启用LDAP用户解析

NSS(Name Service Switch)控制Linux系统如何查找用户、组等信息。通过调整其配置,可将LDAP作为用户数据库来源之一,实现集中账户识别。

1、打开NSS配置文件:/etc/nsswitch.conf

2、定位passwd、group、shadow三行,在原有项(如files)之后添加ldap,例如:passwd: files ldap

3、保存文件后,运行:getent passwd 验证是否能列出LDAP中的用户条目。

四、配置PAM模块启用LDAP登录认证

PAM(Pluggable Authentication Modules)决定用户登录时的验证流程。需加载pam_ldap.so模块,使其参与密码校验过程,并确保本地账户与LDAP账户均可通过相同机制认证。

1、编辑系统认证配置:/etc/pam.d/system-auth

2、在auth段末尾追加:auth [success=done default=ignore] pam_ldap.so use_first_pass

3、在password段末尾追加:password requisite pam_ldap.so use_authtok

4、在account段末尾追加:account [success=done default=ignore] pam_ldap.so

五、启用SSH远程登录LDAP用户

默认情况下SSH仅信任本地/etc/passwd用户。需显式允许LDAP用户通过SSH访问,并防止因缺少家目录导致登录失败。

1、编辑SSH服务PAM配置:/etc/pam.d/sshd,确认已包含对system-auth的引用:auth include system-auth

2、修改SSH主配置文件:/etc/ssh/sshd_config,确保存在:PasswordAuthentication yes

3、启用自动创建家目录功能:在/etc/pam.d/common-session(Debian系)或/etc/pam.d/system-auth(RHEL系)中添加:session required pam_mkhomedir.so skel=/etc/skel umask=0022

4、重启SSH服务:systemctl restart sshd