基于AWS Simple AD(Samba)的Linux客户端集中认证配置咨询
配置Linux客户端通过SSSD对接AWS Simple AD(Samba)实现集中身份认证
刚帮几个朋友搞定过类似的AWS Simple AD对接Linux客户端的场景,结合你给出的部分SSSD配置,我来帮你补全并梳理完整的配置步骤,确保Ubuntu和Amazon Linux都能顺利实现集中身份认证。
一、补全并修正SSSD核心配置
你的现有配置缺了几个关键参数,我帮你补全适配AWS Simple AD的完整配置,注意我标注的几个重点:
[sssd] config_file_version = 2 services = nss, pam domains = LDAP [nss] # 过滤掉系统默认用户,避免SSSD解析这些账号 filter_users = root, daemon, bin, sys, sync, games, man, lp, mail, news, uucp, proxy, www-data, backup, list, irc, gnats, nobody, systemd-network, systemd-resolve, systemd-timesync, messagebus, syslog, _apt, _systemd-coredump, _systemd-oom [pam] # 允许离线缓存凭证7天,适合偶尔断网的场景 offline_credentials_expiration = 7 [domain/LDAP] id_provider = ldap auth_provider = ldap # 重点:AWS Simple AD用的是rfc2307bis schema,不是rfc2307,必须改这个 ldap_schema = rfc2307bis ldap_uri = ldap://ldap.test.io # 用你创建的test用户作为绑定账号,要写完整DN ldap_default_bind_dn = cn=test,dc=ldap,dc=test,dc=io # 注意:生产环境别明文写密码!后续可以用sss_override工具加密存储 ldap_default_authtok = 你的test用户密码 # 你的AD根域DN ldap_base_dn = dc=ldap,dc=test,dc=io # AWS Simple AD默认用户都在Users OU下,如果你自己改了路径要调整 ldap_user_search_base = ou=Users,dc=ldap,dc=test,dc=io ldap_group_search_base = ou=Groups,dc=ldap,dc=test,dc=io # 重点:AD里的登录名是sAMAccountName,不是cn,登录时要用这个用户名 ldap_user_name = sAMAccountName ldap_user_uid_number = uidNumber ldap_user_gid_number = gidNumber ldap_user_home_directory = homeDirectory ldap_user_shell = loginShell ldap_group_object_class = group ldap_group_name = cn # 建议启用STARTTLS加密通信 ldap_id_use_start_tls = True # 开启凭证缓存,提升登录速度 cache_credentials = True # 大环境下关闭枚举,避免SSSD加载所有AD用户导致性能问题 enumerate = False
二、客户端系统环境准备(Ubuntu & Amazon Linux)
1. 安装依赖工具
- Ubuntu系统:
sudo apt update && sudo apt install -y sssd libnss-sss libpam-sss sssd-tools ldap-utils
- Amazon Linux 2/2023:
sudo yum install -y sssd sssd-tools openldap-clients
2. 配置文件权限(必须做!)
SSSD对配置文件权限要求极严,否则服务直接启动失败:
sudo chmod 600 /etc/sssd/sssd.conf sudo chown root:root /etc/sssd/sssd.conf
3. 启动并启用SSSD服务
sudo systemctl enable --now sssd sudo systemctl restart sssd
4. 配置PAM和NSS自动生效
- Amazon Linux:用authconfig一键配置
sudo authconfig --enablesssd --enablesssdauth --update
- Ubuntu:用pam-auth-update工具启用SSSD和自动创建家目录
sudo pam-auth-update --enable mkhomedir sudo pam-auth-update --enable sssd
这里的mkhomedir很实用,用户第一次登录Linux时会自动创建对应的家目录。
三、测试认证是否正常
- 先验证用户信息能否被正确解析:
id test
如果返回用户的UID、GID、家目录等完整信息,说明NSS配置已经生效。
- 测试登录切换:
su - test
输入test用户的AD密码,如果能成功切换到test用户的家目录,说明PAM认证没问题。
- 排查问题(如果测试失败):
直接看SSSD的日志找原因,最常用的两个日志文件:
sudo tail -f /var/log/sssd/sssd_LDAP.log sudo tail -f /var/log/sssd/sssd.log
四、可选:启用LDAPS加密(更安全)
如果要实现更安全的加密通信,可以改用LDAPS:
- 从AWS控制台下载AWS Simple AD的根证书
- 复制证书到对应目录:
- Ubuntu:
/usr/local/share/ca-certificates/ - Amazon Linux:
/etc/pki/tls/certs/
- Ubuntu:
- 更新系统信任证书:
- Ubuntu:
sudo update-ca-certificates - Amazon Linux:
sudo update-ca-trust enable && sudo update-ca-trust extract
- Ubuntu:
- 修改SSSD配置里的
ldap_uri为ldaps://ldap.test.io,并注释掉ldap_id_use_start_tls这一行,然后重启SSSD服务即可。
内容的提问来源于stack exchange,提问作者user3404621
相关产品推荐
相关产品推荐

