CentOS 加入域的详细步骤及常见问题解答
在企业环境中,为了实现统一的身份验证和集中管理,常常需要将Linux服务器加入到Windows Active Directory(AD)域中,下面以centos系统为例,详细介绍如何将其加入到域,并提供相关FAQs。

一、准备工作
1、确认域名服务器:确保CentOS能够解析到AD域的DNS。
2、关闭防火墙和SELinux:为了避免网络连接问题,建议临时关闭防火墙和SELinux。
3、安装必要的软件包:
- yum install y realmd oddjob oddjobmkhomedir sssd adcli sambacommon sambacommontools krb5workstation
二、配置步骤
1、设置主机名:

- hostnamectl sethostname your_hostname.your_domain.com
2、编辑/etc/hosts
文件:
- echo "your_ip your_hostname.your_domain.com your_hostname" >> /etc/hosts
3、配置 DNS:
修改/etc/resolv.conf
或使用nmcli
命令配置网络接口的DNS。
- nmcli con modi enp0s3 ipv4.dns 8.8.8.8 192.168.1.1 # 示例IP地址,请根据实际情况修改
4、同步时间:
确保CentOS的时间与AD域控的时间同步。
- ntpdate your_domain_controller_ip
- hwclock systohc
5、加入域:

使用realm join
命令将CentOS加入到域。
- realm join U Administrator your_domain.com
根据提示输入管理员密码。
6、验证加入状态:
- realm list
7、查看域用户信息:
- wbinfo u
8、配置SSSD服务:
编辑/etc/sssd/sssd.conf
文件,确保以下参数正确设置:
- [sssd]
- services = nss, pam
- config_file_version = 2
- [domain/your_domain.com]
- ad_server = your_domain_controller_ip
- ad_domain = your_domain.com
- krb5_realm = YOUR_REALM.COM
- cache_credentials = True
- id_provider = ad
- ldap_id_mapping = True
- access_provider = ad
9、启用并启动SSSD服务:
- systemctl enable sssd
- systemctl start sssd
三、FAQs
Q1: 为什么需要关闭SELinux?
A1: SELinux可能会阻止某些网络连接或文件操作,导致加入域失败,临时关闭SELinux可以排除这些干扰。
Q2: 如果无法解析域名怎么办?
A2: 确保DNS服务器配置正确,并且CentOS能够解析到AD域的DNS,检查/etc/resolv.conf
或使用nmcli
命令配置正确的DNS服务器。
Q3: 加入域后如何退出域?
A3: 使用以下命令退出域:
- realm leave your_domain.com
Q4: 如何限制域用户的sudo权限?
A4: 编辑/etc/sudoers
文件,添加以下行:
- %DOMAIN\\admin ALL=(ALL) ALL
其中DOMAIN
替换为实际的域名。
Q5: 如何检查是否成功加入域?
A5: 使用以下命令检查:
- wbinfo u
- realm list
如果输出显示正确的域名信息,说明已经成功加入域。
通过以上步骤,您可以顺利地将CentOS系统加入到Active Directory域中,如果在过程中遇到任何问题,可以参考上述FAQs进行排查和解决。