Linux加入AD域必须设security = ads,不可用user;需配workgroup、realm、password server、idmap;同步时间、DNS和主机名;kinit验证Kerberos后net ads join;启用winbind并修改nsswitch.conf。

Linux作为AD域成员服务器:必须用 security = ads,不是 security = user
想让 Linux 主机以普通成员身份加入 Windows AD 域(即用户登录凭据由 AD 统一管理),smb.conf 的 [global] 段里 security 必须设为 ads,且不能和 user 或 domain 混用。设成 user 会导致 Samba 自己管密码,完全绕过 AD 认证。
关键配置项包括:
-
workgroup = YOURDOMAIN(注意:这是 NetBIOS 域名,通常全大写,不带后缀) -
realm = YOURDOMAIN.LOCAL(必须是完整小写的 DNS 域名,且大小写敏感) security = ads-
password server = dc01.yourdomain.local或 IP(推荐用 FQDN,避免 Kerberos 解析失败) -
idmap config * : backend = tdb和idmap config * : range = 10000-20000(必须配,否则getent passwd查不到域用户)
漏掉 idmap 配置是最常见的“加域成功但 id domainuser 查不到”的原因。
加域前必须同步时间、DNS 和主机名
AD 域认证强依赖时间一致性(Kerberos 要求时差 ≤5 分钟)和 DNS 正确性。三个动作缺一不可:
- 用
ntpdate或chronyd同步到域控制器:ntpdate -s dc01.yourdomain.local -
/etc/resolv.conf的第一行nameserver必须是 AD DC 的 IP;search行应包含域后缀(如yourdomain.local) -
/etc/hostname和hostnamectl set-hostname设置的主机名必须能被 DNS 正向/反向解析(host $(hostname)和host $(ip route get 1 | awk '{print $7}')都要返回正确 FQDN)
很多“net ads join 成功但后续无法认证”的问题,根源都在 DNS 反解失败或主机名未进 AD 的 DNS 区域。
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
net ads join 失败时先检查 Kerberos 配置
执行 net ads join -U Administrator 报错,别急着重试——先验证 Kerberos 是否就绪:
- 确认
/etc/krb5.conf中[realms]下的default_realm和kdc地址正确,且default_realm全大写(如YOURDOMAIN.LOCAL) - 运行
kinit administrator@YOURDOMAIN.LOCAL(注意大小写),输入密码后无报错即表示 Kerberos 通了 - 若
kinit失败,klist会显示 “No credentials cache found”,说明/etc/krb5.conf或网络连通性有问题
kinit 成功是 net ads join 成功的前提;跳过这步直接加域,90% 会卡在 SPN 注册或 LDAP bind 阶段。
加域后需启用 winbind 并更新 nsswitch.conf
加域只是注册机器账号,要让系统识别域用户,必须启动 winbind 服务,并让 NSS 层知道从哪查用户:
- 启动服务:
systemctl enable --now winbind(注意不是smbd) - 编辑
/etc/nsswitch.conf,确保这两行含winbind:passwd: files winbindgroup: files winbind - 验证:
getent passwd 'DOMAIN\user'或getent passwd user@yourdomain.local应返回 UID/GID 信息
没配 nsswitch.conf,ls -l 显示域文件属主会是数字 UID,sudo -u 切换域用户也会失败——这不是权限问题,是名字服务根本没加载 winbind。
真实环境里最常被忽略的,是 DNS 反向解析是否进 AD 区域、krb5.conf 里 default_realm 的大小写、以及 nsswitch.conf 漏改 group 行。这三个点卡住,加域就只是“表面成功”。

















