需配置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、确认安装后相关二进制文件存在:ldapsearch 和 getent 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=com 与 bindpw 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。
云模块_YunMOK网站管理系统采用PHP+MYSQL为编程语言,搭载自主研发的模块化引擎驱动技术,实现可视化拖拽无技术创建并管理网站!如你所想,无限可能,支持创建任何网站:企业、商城、O2O、门户、论坛、人才等一块儿搞定!永久免费授权,包括商业用途; 默认内置三套免费模板。PC网站+手机网站+适配微信+文章管理+产品管理+SEO优化+组件扩展+NEW Login界面.....目测已经遥遥领先..
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。









