Ubuntu 20.04接入AD域后无法登录且查询域账号提示不存在
Ubuntu 20.04 加入AD域后无法识别域账号排查方案
1. 检查SSSD服务状态
域账号查询完全依赖SSSD服务运行,首先验证服务状态:
systemctl status sssd
如果服务未运行,尝试重启后查看报错日志:
systemctl restart sssd journalctl -u sssd -f
2. 校验名称服务切换配置
检查/etc/nsswitch.conf中是否开启了SSSD作为用户数据源:
cat /etc/nsswitch.conf | grep -E "passwd|group|shadow"
正常返回应包含sss字段,示例:
passwd: files systemd sss
group: files systemd sss
shadow: files sss
如果缺少sss,手动编辑文件添加后重启SSSD服务。
3. 修正SSSD域配置
默认配置可能和你使用的用户名格式不匹配,编辑/etc/sssd/sssd.conf文件,在[domain/vinci.iiscorni.it]段添加/修改以下参数:
[domain/vinci.iiscorni.it] ad_domain = vinci.iiscorni.it krb5_realm = VINCI.IISCORNI.IT realmd_tags = manages-system joined-with-adcli cache_credentials = True id_provider = ad krb5_store_password_if_offline = True default_shell = /bin/bash # 关闭全限定名要求,支持直接用用户名+NetBIOS前缀两种格式登录 use_fully_qualified_names = False # 自动生成家目录路径 fallback_homedir = /home/%u ldap_id_mapping = True # 部分Windows 2012域控全局目录端口连通异常时可开启以下配置 # ad_enable_gc = False
注意:必须保证sssd.conf权限为600、属主为root,否则SSSD会拒绝加载配置:
chmod 600 /etc/sssd/sssd.conf chown root:root /etc/sssd/sssd.conf
修改后清空SSSD缓存并重启服务:
sss_cache -E systemctl restart sssd
重启后再次验证域账号查询:
id m.missiroli # 或 id m.missiroli@vinci.iiscorni.it
4. 开启PAM自动创建家目录
如果账号可查询但登录失败,检查是否开启了家目录自动创建:
pam-auth-update --enable mkhomedir
执行后无需手动修改PAM配置文件,登录时会自动为域用户创建家目录。
5. 验证DNS与域控连通性
AD服务高度依赖DNS解析,需保证设备的首选DNS为域控IP:
- 执行
nslookup -type=SRV _ldap._tcp.vinci.iiscorni.it,确认返回的解析结果为学校域控IP - 确认设备和域控之间的53(DNS)、88(Kerberos)、389(LDAP)、445(SMB)端口连通无防火墙拦截
内容的提问来源于stack exchange,提问作者piffy
相关产品推荐
相关产品推荐

