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进行排查和解决。
