CentOS实例无法加入example.local域:权限不足问题求助
CentOS实例加入AD域权限不足问题排查
我拥有AD管理员权限,能成功将其他所有CentOS Linux实例加入example.local域,但某台实例执行加入操作时始终提示权限不足错误。
操作日志
- 正在解析:_ldap._tcp.example.local
- 正在XXX.XX.XXX.X上执行LDAP DSE查找
- 正在XXX.XX.XXX.X上执行LDAP DSE查找
- 成功发现:example.local
输入user@example.LOCAL的密码: - 所需文件:/usr/sbin/oddjobd, /usr/libexec/oddjob/mkhomedir, /usr/sbin/sssd, /usr/bin/net
- 执行命令:
LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.7J0AR1 -U user@example.LOCAL ads join example.local
输入密码后报错:ads_print_error: AD LDAP ERROR: 50 (Insufficient access): 00000005: SecErr: DSID-031A11B9, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
最终错误信息
加入域失败:无法设置计算机账户的账户标志(NT_STATUS_ACCESS_DENIED)
! 加入域example.local权限不足realm: 无法加入领域:加入域example.local权限不足
已完成的验证
- 执行
sudo kinit -V user@example.LOCAL,成功通过krb5认证 - 执行
sudo realm join -U user@example.LOCAL example.LOCAL,触发上述权限不足错误
排查及解决步骤
检查AD中同名计算机账户
登录AD管理控制台,查找example.local域内是否存在该CentOS实例的同名计算机账户:- 若账户已锁定/失效:解锁并重置账户后重试加入
- 若账户已存在且无使用需求:删除账户后重新执行域加入操作
验证管理员对目标OU的权限
部分AD环境会限制管理员对特定组织单元(OU)的操作权限,确认当前管理员账户对目标OU拥有以下权限:- 打开AD用户和计算机 → 右键目标OU → 属性 → 安全 → 检查是否拥有「创建计算机对象」「修改计算机对象」权限
- 若权限缺失,添加对应权限后重试
检查主机名合规性
AD计算机账户名限制为最长15字符,仅允许字母、数字、连字符:- 执行
hostname查看当前主机名,若不符合规范,修改后重启实例再尝试加入
- 执行
清除认证缓存及临时配置
实例可能残留旧认证缓存导致校验异常:- 执行
kdestroy清除Kerberos缓存 - 删除realmd临时文件:
rm -rf /var/cache/realmd/* - 重新执行
sudo realm join -U user@example.LOCAL example.LOCAL
- 执行
内容的提问来源于stack exchange,提问作者raushan sharma
相关产品推荐
相关产品推荐

