网站搜索

在 Ubuntu 上使用 Samba4 创建 Active Directory 基础设施 - 第 1 部分


Samba 是一款免费的开源软件,它提供了Windows 操作系统Linux/Unix 操作系统之间的标准互操作性。

Samba 可以通过 SMB/CIFS 协议套件作为 Windows 和 Linux 客户端的独立文件和打印服务器运行,也可以充当 Active Directory 域控制器,或者加入到 作为域成员的strong>领域。当前Samba4 可以模拟的最高AD DC 域和林级别是Windows 2008 R2

该系列的标题为设置 Samba4 Active Directory 域控制器,其中涵盖 UbuntuCentOSWindows 的以下主题强>:

本教程首先将解释在 Ubuntu 16.04 上安装和配置 Samba4 作为域控制器所需注意的所有步骤和Ubuntu 14.04

此配置将为混合 Windows-Linux 基础架构中的用户、计算机、卷共享、权限和其他资源提供中央管理点。

要求:

  1. Ubuntu 16.04 服务器安装。
  2. Ubuntu 14.04 服务器安装。
  3. 为您的 AD DC 服务器配置的静态 IP 地址。

第 1 步:Samba4 的初始配置

1.在继续安装Samba4 AD DC之前,首先让我们运行一些预先要求的步骤。首先通过发出以下命令确保系统具有最新的安全功能、内核和软件包:

sudo apt-get update 
sudo apt-get upgrade
sudo apt-get dist-upgrade

2. 接下来,打开机器 /etc/fstab 文件,并确保您的分区文件系统已启用 ACL,如下面的屏幕截图所示。

通常,常见的现代 Linux 文件系统(例如 ext3ext4xfsbtrfs)均支持并启用 ACL默认。如果您的文件系统不是这种情况,只需打开 /etc/fstab 文件进行编辑,并在第三列末尾添加 acl 字符串,然后重新启动 机器以便应用更改。

3. 最后,通过编辑 /etc/hostname 文件或使用描述性名称设置您的计算机主机名,例如本示例中使用的 adc1发行。

sudo hostnamectl set-hostname adc1

更改计算机名称后,需要重新启动才能应用更改。

步骤 2:安装 Samba4 AD DC 所需的软件包

4.为了将您的服务器转变为Active Directory域控制器,请通过发出以下命令在您的计算机上安装Samba和所有必需的软件包在控制台中具有 root 权限的命令。

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

5. 当安装运行时,安装程序将询问一系列问题,以便配置域控制器。

在第一个屏幕上,您需要为 Kerberos 默认 REALM 添加大写名称。输入您将用于域的大写名称,然后按 Enter 继续。

6. 接下来,输入您域的 Kerberos 服务器的主机名。使用与您的域相同的名称,这次是小写字母,然后按 Enter 继续。

7. 最后,指定 Kerberos 领域的管理服务器的主机名。使用与您的域相同的名称,然后按Enter完成安装。

步骤 3:为您的域配置 Samba AD DC

8. 在开始为您的域配置Samba之前,首先运行以下命令以停止并禁用所有 Samba 守护程序。

sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service
sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service

9. 接下来,重命名或删除 samba 原始配置。在配置 Samba AD 之前绝对需要执行此步骤,因为在配置时 Samba 将从头开始创建一个新的配置文件,并且在发现旧的 配置文件时会抛出一些错误代码>smb.conf 文件。

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

10. 现在,通过使用 root 权限发出以下命令以交互方式启动域配置,并接受 Samba 为您提供的默认选项。

另外,请确保您提供本地(或外部)DNS 转发器的 IP 地址,并为管理员帐户选择一个强密码。如果您为管理员帐户选择一周密码,则域配置将会失败。

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

11. 最后,从 /etc 目录中重命名或删除 Kerberos 主配置文件,并使用符号链接将其替换为位于 /var/lib 中的 Samba 新生成的 Kerberos 文件通过发出以下命令来 /samba/private 路径:

sudo mv /etc/krb5.conf /etc/krb5.conf.initial
sudo ln -s /var/lib/samba/private/krb5.conf /etc/

12.启动并启用Samba Active Directory 域控制器守护程序。

sudo systemctl start samba-ad-dc.service
sudo systemctl status samba-ad-dc.service
sudo systemctl enable samba-ad-dc.service

13. 接下来,使用 netstat 命令验证 Active Directory 正常运行所需的所有服务的列表。

sudo netstat –tulpn| egrep ‘smbd|samba’

第 4 步:最终 Samba 配置

14.此时Samba应该在您的场所完全运行。 Samba 模拟的最高域级别应该是 Windows AD DC 2008 R2

可以借助 samba-tool 实用程序进行验证。

sudo samba-tool domain level show

15.为了使DNS解析在本地工作,您需要打开端编辑网络接口设置并通过修改dns-nameservers指向DNS解析> 语句指向您的域控制器的 IP 地址(使用 127.0.0.1 进行本地 DNS 解析)和 dns-search 语句指向您的领域

sudo cat /etc/network/interfaces
sudo cat /etc/resolv.conf

完成后,重新启动您的服务器并查看您的解析器文件,以确保它指向正确的 DNS 名称服务器。

16.最后,通过针对一些 AD DC 关键记录发出查询和 ping 来测试 DNS 解析器,如下面的摘录所示。相应地替换域名。


ping -c3 tecmint.lan         #Domain Name
ping -c3 adc1.tecmint.lan   #FQDN
ping -c3 adc1               #Host

针对 Samba Active Directory 域控制器运行以下几个查询。


host -t A tecmint.lan
host -t A adc1.tecmint.lan
host -t SRV _kerberos._udp.tecmint.lan  # UDP Kerberos SRV record
host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record

17. 此外,通过请求域管理员帐户的票证并列出缓存的票证来验证 Kerberos 身份验证。域名部分用大写字母书写。

kinit [email 
klist

就这样!现在,您的网络中已安装了完全可操作的AD 域控制器,您可以开始将WindowsLinux 计算机集成到Samba AD

在下一个系列中,我们将介绍其他 Samba AD 主题,例如如何通过 Samba 命令行管理域控制器、如何将 Windows 10 集成到域名以及远程管理 Samba AD使用 RSAT 和其他重要主题。