登录
首页 >  文章 >  linux

SSSD连接AD域配置实战教程

时间:2026-05-06 18:04:15 240浏览 收藏

本文详解了在Linux系统中通过realmd工具安全、高效地配置SSSD连接Active Directory域的完整实战流程,强调realmd作为当前最稳定可靠的加域方案,能自动协调SSSD、Kerberos与Winbind,大幅规避手动配置sssd.conf或krb5.conf时因大小写、空格、缩进等细微错误导致的失败;同时深入剖析了DNS解析(SRV记录)、系统时间同步(≤5分钟偏差)两大前置硬性条件,以及用户登录权限控制、家目录自动创建、sudo组授权等生产环境必备细节,并直击常见验证失败的三大“静默陷阱”——无报错却功能异常的配置细节问题,助你避开90%的踩坑场景,真正实现一次加域、稳定运行。

Linux怎么配置SSSD连接AD域 Linux加入Windows域控实战详解

realmd 加域是当前最稳路径,手动配 sssd.confkrb5.conf 容易因大小写、空格、缩进错一个字符就失败。

验证 DNS 和时间是否达标

SSSD 连 AD 前必须过两关:DNS 能解析 SRV 记录,系统时间与域控偏差 ≤5 分钟。Kerberos 不讲情面,差 6 秒都报 kinit: Cannot find KDC

  • 查 DNS:nslookup -type=SRV _kerberos._tcp.YOURDOMAIN.COM 必须返回域控主机名和端口;nslookup YOURDOMAIN.COM 必须指向域控 IP,不是路由器或公网 DNS
  • 改 DNS 不要用直接改 /etc/resolv.conf —— RHEL7+/Ubuntu18.04+ 会覆盖它;改网卡配置:nmcli con mod ensX ipv4.dns "192.168.1.10"nmcli con up ensX
  • 同步时间:timedatectl set-ntp true,再确认 /etc/chrony.confserver 行指向域控 IP(如 server 192.168.1.10 iburst

realmd 发现并加入域

realmd 封装了 SSSD + Kerberos + Winbind 的联动逻辑,比 net ads join 或手写配置出错率低得多,日志也集中好查。

  • 装齐依赖:yum install -y realmd sssd oddjob oddjob-mkhomedir samba-common-tools adcli(RHEL/CentOS)或 apt install -y realmd sssd sssd-tools adcli samba-common-bin(Debian/Ubuntu)
  • 发现域:realm discover YOURDOMAIN.COM —— 注意:域名必须全大写,小写会报 No such realm found
  • 加入域:realm join --user=Administrator YOURDOMAIN.COM,输密码后自动启用 sssd、更新 /etc/nsswitch.conf

控制谁可以登录:改 sssd.confaccess_provider

默认加域后所有域用户都能登录,生产环境必须限制。别信 realm permit 的临时授权——它不持久,重启服务就失效。

  • 编辑 /etc/sssd/sssd.conf,在 [domain/YOURDOMAIN.COM] 段下加:
  • access_provider = simple
  • simple_allow_groups = ITadmin, LinuxAdmins(组名用逗号分隔,不带域名)
  • simple_allow_users = audit(单独放行用户)
  • use_fully_qualified_names = False(否则登录得输 user@YOURDOMAIN.COM
  • 改完执行:chmod 600 /etc/sssd/sssd.conf && systemctl restart sssd

常见验证失败的三个硬坑

加域成功 ≠ 能登录。很多问题卡在 SSSD 启动后没拉到用户,或者家目录没创建。

  • id DOMAIN\username 返回空?先看 journalctl -u sssd -n 50,重点找 Failed to initialize data providerLDAP bind failed —— 多半是 DNS 或时间没调好
  • 域用户 SSH 登录卡住?确认 oddjobd 服务已启:systemctl enable --now oddjobdoddjob-mkhomedir 插件负责首次登录时建 /home/username
  • sudo 权限不生效?%ITadmin ALL=(ALL) ALL 要写进 /etc/sudoers,且组名必须和 AD 中完全一致(大小写、空格),不能带 @YOURDOMAIN.COM

真正麻烦的不是加域动作本身,而是 DNS 解析链路上某一级缓存没清、sssd.conf 里一个等号前后多敲了空格、或者 krb5.confdefault_realm[realms] 下的域名大小写不一致 —— 这些地方没有报错提示,只有反复重试和翻日志。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>