在 Ubuntu 上使用 Samba4 创建 Active Directory 基础架构

linuxoperating systemopen source更新于 2026/1/29 10:07:17

Active Directory 是一款功能强大的工具,用于在 Windows 环境中管理用户、组和计算机。Samba 是 Windows 用于文件和打印机共享的 SMB/CIFS 网络协议的开源实现。Samba4 提供了 Active Directory 的完整实现,可用于在 Linux 上创建 Active Directory 基础架构。在本文中,我们将介绍在 Ubuntu 上使用 Samba4 设置 Active Directory 基础架构的步骤。

步骤 1:安装 Samba4

首先,我们需要安装 Samba4。打开终端并输入以下命令安装 Samba4 -

sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind libpam-krb5 libpam-ccreds ntp

此命令安装 Samba4 所需的软件包以及用于在 Active Directory 中进行身份验证的 Kerberos。

步骤 2:配置 Kerberos

接下来,我们需要配置 Kerberos。输入以下命令打开 Kerberos 配置文件 -

sudo nano /etc/krb5.conf

在此文件中,我们需要定义我们的领域和我们将要使用的域控制器。在文件底部添加以下几行,将 example.com 替换为您自己的域名 -

[libdefaults] default_realm = EXAMPLE.COM dns_lookup_kdc = truedns_lookup_realm = true
[realms] EXAMPLE.COM = { kdc = dc1.example.comkdc = dc2.example.com admin_server = dc1.example.com default_domain =example.com }

保存并退出文件。

步骤 3:配置 Samba

现在我们需要配置 Samba。输入以下命令打开 Samba 配置文件 -

sudo nano /etc/samba/smb.conf

我们需要对此文件进行一些更改。首先,在文件的 [global] 部分添加以下几行,将 example.com 替换为您自己的域名 -

workgroup = EXAMPLE realm = EXAMPLE.COM netbios name = SAMBA4 server role= active directory domain controller dns forwarder = 8.8.8.8

这些行将 Samba 配置为 Active Directory 域控制器。接下来,在文件末尾添加以下几行: -

[netlogon] comment = Network Logon Service path =/var/lib/samba/sysvol/example.com/scripts read only = No [sysvol] comment = System Volume path = /var/lib/samba/sysvol read only = No

这些行定义了 Netlogon 和 Sysvol 共享的位置。保存并退出文件。

步骤 4:创建 Samba Active Directory 数据库

在启动 Samba Active Directory 域控制器之前,我们需要创建 Samba Active Directory 数据库。输入以下命令创建数据库 -

sudo samba-tool domain provision --use-rfc2307 --interactive

此命令将提示您输入创建域所需的各项信息。请按照提示输入相应的信息。

步骤 5:启动 Samba Active Directory 域控制器

现在我们可以启动 Samba Active Directory 域控制器了。输入以下命令 -

sudo systemctl start samba-ad-dc

此命令启动 Samba Active Directory 域控制器。

步骤 6:验证

启动 Samba Active Directory 域控制器后,务必验证其是否正常运行。以下是一些可用于验证 Samba AD DC 状态的命令 -

  • 验证 Samba AD DC 服务的状态 -

sudo systemctl status samba-ad-dc

此命令应显示输出,表明服务处于活动状态(正在运行),并且启动过程中没有错误。

  • 验证 DNS 服务器是否正在运行 -

sudo systemctl status bind9

此命令应显示输出,表明 BIND DNS 服务器正在运行,并且启动过程中没有错误。

  • 验证 Samba AD DC DNS 配置−

sudo samba-tool dns query localhost <domain-name> @ ALL -U administrator

此命令应显示输出,表明 DNS 查询成功且域名已正确解析。

如果任何这些命令失败或显示错误,您可能需要排查 Samba AD DC 配置问题。

步骤 7:创建 Active Directory 用户

现在 Samba AD DC 已启动并运行,我们可以创建一个 Active Directory 用户帐户。操作方法如下:-

  • 使用"samba-tool"命令创建用户帐户 -

sudo samba-tool user create <username> <password>

将 <username> 替换为所需的用户名,将 <password> 替换为所需的密码。

  • 验证用户是否已成功创建 -

sudo samba-tool user list

此命令将显示 Active Directory 域中所有用户的列表,包括您刚刚创建的用户帐户。

恭喜!现在,您已在 Ubuntu 上使用 Samba4 创建了 Active Directory 基础架构。这仅仅是个开始——您还可以探索 Samba4 和 Active Directory 的更多功能和配置。

结论

总而言之,在 Ubuntu 上使用 Samba4 设置 Active Directory 基础架构是一个相对简单的过程。借助 Samba4,Ubuntu 用户无需昂贵的许可证或专有软件即可创建类似于 Microsoft Active Directory 的环境。

在本指南中,我们介绍了设置 Active Directory 域控制器所需的基本步骤,包括安装 Samba4、配置 DNS、将客户端加入域以及创建用户和组。

通过遵循这些步骤,Ubuntu 用户可以创建一个安全、可靠且可扩展的 Active Directory 基础架构,用于管理整个组织中的用户、计算机和资源。此基础架构有助于简化 IT 管理任务、降低成本并增强安全性。


相关文章


有用资源