在企业网络环境中,域控制器(Domain Controller)用于集中管理用户账户、权限和资源。传统上,Windows Server 是搭建域控制器的首选,但借助 Samba,我们也可以在 CentOS 系统上构建功能完整的 Active Directory 域控制器。本教程将详细指导你如何在 CentOS 7/8 上安装并配置 Samba 作为域控制器,即使你是 Linux 新手也能轻松上手。
在开始之前,请确保满足以下条件:
为避免权限问题,建议先临时关闭 SELinux 和 firewalld:
# 临时关闭 SELinuxsetenforce 0# 永久关闭(编辑配置文件)sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config# 停止并禁用防火墙(生产环境建议配置规则而非关闭)systemctl stop firewalldsystemctl disable firewalld
使用 yum 安装 Samba AD DC 所需的软件包:
yum install -y samba samba-common samba-client krb5-workstation \bind-utils attr libsemanage-python policycoreutils-python
Samba AD DC 要求主机名可解析,且不能使用 .local 后缀:
# 设置主机名(以 example.com 域为例)hostnamectl set-hostname dc.example.com# 编辑 /etc/hosts,添加如下行echo "192.168.1.10 dc.example.com dc" >> /etc/hosts
使用 samba-tool 初始化新域。请替换 YOUR_REALM 和 YOUR_DOMAIN 为你自己的域名(通常一致):
samba-tool domain provision \ --use-rfc2307 \ --interactive# 程序会提示输入以下信息:Realm [YOUR_REALM]: EXAMPLE.COMDomain [YOUR_DOMAIN]: EXAMPLEServer Role (dc, member, standalone) [dc]: dcDNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNALAdministrator password: ********
配置完成后,启动 Samba 并设置开机自启:
# 停止旧的 smb 和 nmb 服务(如果存在)systemctl stop smb nmbsystemctl disable smb nmb# 启动 Samba AD DC 服务systemctl start sambasystemctl enable samba
使用以下命令验证 Kerberos 和 LDAP 是否正常工作:
# 获取 Kerberos 票据kinit administrator@EXAMPLE.COM# 查看票据klist# 查询 LDAP 用户(需输入管理员密码)samba-tool user list
在 Windows 电脑上:
example.com通过本教程,你已经成功搭建了一个基于 CentOS Samba域控制器 的 Active Directory 环境。这不仅节省了 Windows Server 授权成本,还提升了 Linux 在企业中的应用价值。
本文覆盖的核心 SEO关键词 包括:
> 提示:生产环境中建议启用防火墙规则(开放 TCP/UDP 53, 88, 135, 139, 389, 445, 464, 636 等端口),并定期备份 Samba 数据库。
本文由主机测评网于2025-12-14发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127445.html