本指南聚焦RHEL 6S主域控制器配置,详解企业级域环境搭建与管理全流程,涵盖Samba服务集成、Kerberos认证部署、LDAP目录服务配置等关键技术,实现Windows/Linux系统统一身份认证与权限管控,通过集中化用户管理、组策略定制及域信任关系建立,确保企业IT资源安全高效访问,适用于中小型企业及大型分支机构域环境建设,助力提升运维标准化与跨平台协同能力。
在企业级网络环境中,主域控制器(Primary Domain Controller, PDC)是核心身份认证与资源管理中心,负责集中管理用户账户、计算机、安全策略及共享资源,实现统一的身份验证和权限控制,Red Hat Enterprise Linux 6S(RHEL 6S)凭借其稳定性和安全性,可作为中小企业或特定场景下的域控制器解决方案,本文将详细介绍基于RHEL 6S的主域控制器搭建步骤、关键配置及管理方法,帮助企业快速构建高效的域环境。
准备工作
硬件与系统要求
- 硬件:建议CPU≥2核、内存≥4GB、硬盘≥50GB(需预留域数据库扩展空间),确保支持虚拟化(如需后续扩展)。
- 系统:纯净安装RHEL 6S 64位系统(版本号如6.10),并更新至最新补丁:
yum update -y
- 网络配置:为服务器配置静态IP地址,确保网络连通性,示例配置(以eth0为例):
vi /etc/sysconfig/network-scripts/ifcfg-eth0 ``` 如下: ```ini DEVICE=eth0 TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.1.10 # 域控制器IP NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=192.168.1.10 # DNS指向自身(域控制器需提供DNS服务) ONBOOT=yes
重启网络服务:
service network restart。
安装必要软件包
RHEL 6S需通过Samba和Kerberos实现域功能,安装以下核心组件:

yum install -y samba samba-winbind samba-client krb5-workstation pam_krb5
- samba:提供文件共享与域服务核心功能;
- samba-winbind:实现Linux与Windows域身份集成;
- krb5-workstation:Kerberos客户端工具,用于域认证;
- pam_krb5:PAM模块,支持域用户登录Linux系统。
配置Kerberos认证服务
Kerberos是域环境的核心认证协议,用于安全验证用户身份,需配置/etc/krb5.conf文件,定义域的Kerberos服务参数。

编辑Kerberos配置文件
vi /etc/krb5.conf
关键配置如下(示例域名为example.com,域控制器IP为168.1.10):
[libdefaults]
default_realm = EXAMPLE.COM # Kerberos域名称(大写)
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
EXAMPLE.COM = { # 定义域
kdc = 192.168.1.10 # 域控制器IP(Kerberos密钥分发中心)
admin_server = 192.168.1.10 # Kerberos管理服务器
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
初始化Kerberos数据库
Kerberos数据库存储域用户的认证密钥,需使用kdb5_util工具初始化:
kdb5_util create -s -r EXAMPLE.COM
根据提示设置管理员密码(此密码为Kerberos域管理密码,需妥善保存)。
启动Kerberos服务
service krb5kdc start # 启动Kerberos密钥分发中心 service kadmin start # 启动Kerberos管理服务 chkconfig krb5kdc on # 设置开机自启 chkconfig kadmin on
配置Samba域控制器
Samba是Linux与Windows域集成的关键组件,需将其配置为“主域控制器”(PDC),管理Windows域用户和计算机。
备份并编辑Samba主配置文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak vi /etc/samba/smb.conf
修改全局配置([global]部分),核心参数如下:
[global]
workgroup = EXAMPLE # Windows工作组/域名称(大写需与Kerberos realm一致)
netbios name = PDC-SERVER # NetBIOS名称(域控制器标识)
server string = RHEL 6S PDC # 服务器描述
security = ads # 安全模式:ads(域模式)
realm = EXAMPLE.COM # Kerberos域名称(与krb5.conf一致)
domain logons = yes # 启用域登录
os level = 65 # 设置域控制器优先级(值越高越优先)
preferred master = yes # 优先作为主域控制器
domain master = yes # 强制作为主域控制器
dns proxy = no # 禁用DNS代理(避免与域内DNS冲突)
# Kerberos认证配置
kerberos method = secrets and keytab
# 域用户目录映射
logon path = \\%N\profiles\%U # 用户漫游路径(%N为域控制器名,%U为用户名)
logon drive = H: # 用户登录映射的驱动器
logon script = logon.bat # 登录脚本(需放置在[netlogon]共享目录)
# 共享配置
[netlogon]
path = /var/lib/samba/netlogon # 登录脚本目录
browseable = yes
writable = no
guest ok = yes
[profiles]
path = /var/lib/samba/profiles # 用户配置文件目录
browseable = yes
writable = yes
create mask = 0600
directory mask = 0700
创建共享目录并设置权限
mkdir -p /var/lib/samba/netlogon /var/lib/samba/profiles chmod -R 1777 /var/lib/samba/netlogon /var/lib/samba/profiles chown -R root:samba /var/lib/samba/netlogon /var/lib/samba/profiles
将Samba加入域并创建域管理账户
使用samba-tool工具初始化域并设置管理员账户:
samba-tool domain provision --interactive
根据提示输入:
- 域名称(
example.com); - NetBIOS名称(
EXAMPLE); - 域管理员密码(需符合复杂度要求);
- 数据库路径(默认
/var/lib/samba/private); - 共享目录路径(默认
/var/lib/samba)。
完成后,会生成域管理账户(如Administrator),并自动更新smb.conf配置。
启动Samba服务并加入域
service smb start # 启动Samba服务 service nmb start # 启动NetBIOS名称服务 service winbind start # 启动Winbind服务(域身份集成) chkconfig smb on # 设置开机自启 chkconfig nmb on chkconfig winbind on
验证域控制器状态
- 检查Samba域信息:
net ads info
输出应包含域名称、服务器版本、管理员账户等信息。
- 查看域用户列表:
wbinfo -u
若显示域用户(如
Administrator),则域控制器配置成功。
创建域用户与计算机账户
创建域用户
使用samba-tool user create命令添加域用户(示例用户名user1):
samba-tool user create user1 "Password123!" # 密码需包含大小写字母、数字及特殊字符
设置用户属性(如全名、部门):
samba-tool user setname user1 "User One" samba-tool user setattribute user1 department "IT"
创建域计算机账户
Windows客户端加入域时需预先创建计算机账户(示例计算机名WIN10-PC):
samba-tool computer create WIN10-PC$
后缀表示计算机账户,加入域时客户端需使用此名称。
配置用户漫游文件夹(可选)
若需实现用户配置文件漫游,需在[profiles]共享目录中为每个用户创建子目录:
mkdir -p /var/lib/samba/profiles/user1 chown -R user1:samba /var/lib/samba/profiles/user1
配置Windows客户端加入域
-
设置DNS指向域控制器:
在Windows客户端网络配置中,将DNS服务器地址设置为域控制器IP(168.1.10)。 -
加入域:
- 右键“计算机”→“属性”→“更改设置”→“更改”;
- 选择“域”,输入域名
example.com,点击“确定”; - 输入域管理员账户(
Administrator)及密码,成功后重启客户端。
-
验证域登录:
重启Windows客户端时,选择“其他用户”,输入域账户user1@example.com及密码,若成功登录则域集成完成。
常见故障排除
Kerberos认证失败
- 检查
/etc/krb5.conf中default_realm与realms配置是否正确; - 测试Kerberos票据获取:
kinit Administrator@EXAMPLE.COM,若报错则检查域控制器时间同步(使用ntpdate同步时间)。
Samba服务无法启动
- 检查
smb.conf语法:testparm /etc/samba/smb.conf; - 查看日志:
/var/log/samba/log.smbd,定位错误原因(如权限不足、端口冲突)。
Windows客户端无法加入域
- 确认客户端DNS指向域控制器;
- 检查防火墙是否开放必要端口(SMB: 139/445, Kerberos: 88, DNS: 53);
- 验证计算机账户是否已创建(
wbinfo -n WIN10-PC$)。
域控制器维护
备份域数据
定期备份Samba和Kerberos配置文件及数据库:
tar -czf /backup/pdc_backup_$(date +%Y%m%d).tar.gz /etc/samba /var/lib/samba /var/kerberos/krb5kdc
更新系统补丁
定期执行yum update -y,确保域控制器安全稳定。
监控服务状态
使用service smb status、service krb5kdc status检查服务运行状态,或通过nmap扫描端口(nmap -p 139,445,88 192.168.1.10)验证服务可用性。
通过RHEL 6S搭建主域控制器,可实现企业网络中用户、计算机及资源的集中管理,提升安全性和运维效率,关键步骤包括Kerberos认证配置、Samba域控制器初始化、用户账户管理及客户端集成,实际部署中需注意网络配置、防火墙规则及时间同步问题,并结合企业需求调整域策略(如密码复杂度、登录脚本等),定期维护与备份是保障域环境稳定运行的核心措施。


