网站搜索

从命令行将 CentOS 7 集成到 Samba4 AD - 第 14 部分


本指南将向您展示如何使用 Authconfig 软件从命令行将没有图形用户界面的 CentOS 7 服务器集成到 Samba4 Active Directory 域控制器。

这种类型的设置提供了由 Samba 持有的单一集中帐户数据库,并允许 AD 用户通过网络基础设施向 CentOS 服务器进行身份验证。

要求

  1. 在 Ubuntu 上使用 Samba4 创建 Active Directory 基础架构
  2. CentOS 7.3安装指南

步骤 1:为 Samba4 AD DC 配置 CentOS

1. 在开始将 CentOS 7 服务器加入 Samba4 DC 之前,您需要确保网络接口已正确配置为通过 DNS 查询域服务。

运行 ip address 命令列出您的计算机网络接口,并通过针对接口名称发出 nmtui-edit 命令来选择要编辑的特定 NIC,例如本例中的 ens33,如下所示如下图所示。

ip address
nmtui-edit ens33

2. 打开网络接口进行编辑后,添加最适合您 LAN 的静态 IPv4 配置,并确保为 DNS 服务器设置 Samba AD 域控制器 IP 地址。

此外,在提交的搜索域中附加您的域名称,并使用[TAB]键导航到确定按钮以应用更改。

归档的搜索域可确保当您仅使用域 DNS 记录的短名称时,DNS 解析 (FQDN) 自动附加域对应项。

3. 最后,重新启动网络守护程序以应用更改,并通过针对域名和域控制器短名称发出一系列 ping 命令来测试 DNS 解析是否已正确配置,如下所示以下。

systemctl restart network.service
ping -c2 tecmint.lan
ping -c2 adc1
ping -c2 adc2

4. 此外,配置您的计算机主机名并通过发出以下命令重新启动计算机以正确应用设置。

hostnamectl set-hostname your_hostname
init 6

使用以下命令验证主机名是否正确应用。

cat /etc/hostname
hostname

5. 最后,使用 root 权限发出以下命令,将本地时间与 Samba4 AD DC 同步。

yum install ntpdate
ntpdate domain.tld

步骤2:将CentOS 7服务器加入Samba4 AD DC

6. 要将 CentOS 7 服务器加入 Samba4 Active Directory,请首先使用具有 root 权限的帐户在您的计算机上安装以下软件包。

yum install authconfig samba-winbind samba-client samba-winbind-clients

7. 为了将 CentOS 7 服务器集成到域控制器,请使用 root 权限运行 authconfig-tui 图形实用程序,并使用如下所述的配置。

authconfig-tui

在第一个提示屏幕上选择:

  • 关于用户信息

    • 使用Winbind
  • 身份验证选项卡上按[空格]键选择:

    • 使用影子密码
    • 使用Winbind 身份验证
    • 本地授权就足够了

8. 点击下一步继续进入 Winbind 设置屏幕并进行配置,如下图所示:

  • 安全模型:广告
  • 域名=YOUR_DOMAIN(使用大写)
  • 域控制器=域计算机 FQDN(如果有多个,则以逗号分隔)
  • ADS 领域=YOUR_DOMAIN.TLD
  • 模板 Shell=/bin/bash

9.要执行域加入,请使用[tab]键导航至加入域按钮,然后按[Enter]键加入域。

在下一个屏幕提示中,添加具有提升权限的 Samba4 AD 帐户的凭据,以执行加入 AD 的计算机帐户,然后点击确定应用设置并关闭提示。

请注意,当您键入用户密码时,凭据不会显示在密码屏幕中。在剩余的屏幕上再次点击确定以完成 CentOS 7 计算机的域集成。

要强制将计算机添加到特定的 Samba AD 组织单位,请使用 hostname 命令获取计算机的确切名称,并使用您的计算机名称在该 OU 中创建一个新的计算机对象。

将新对象添加到 Samba4 AD 中的最佳方法是使用集成到域中并安装了 RSAT 工具的 Windows 计算机中的 ADUC 工具。

重要:加入域的另一种方法是使用 authconfig 命令行,它提供对集成过程的广泛控制。

然而,这种方法很容易对其众多参数产生错误,如下面的命令摘录所示。该命令必须键入一长行。

authconfig --enablewinbind --enablewinbindauth --smbsecurity ads --smbworkgroup=YOUR_DOMAIN --smbrealm YOUR_DOMAIN.TLD --smbservers=adc1.yourdomain.tld --krb5realm=YOUR_DOMAIN.TLD --enablewinbindoffline --enablewinbindkrb5 --winbindtemplateshell=/bin/bash--winbindjoin=domain_admin_user --update  --enablelocauthorize   --savebackup=/backups

10. 计算机加入域后,通过发出以下命令验证 winbind 服务是否已启动并正在运行。

systemctl status winbind.service

11.然后,检查Samba4 AD中的CentOS机器对象是否已成功创建。在安装了 RSAT 工具的 Windows 计算机上使用 AD 用户和计算机工具,并导航到您的域计算机容器。右侧平面中应列出一个带有 CentOS 7 服务器名称的新 AD 计算机帐户对象。

12. 最后,通过使用文本编辑器打开 samba 主配置文件 (/etc/samba/smb.conf) 来调整配置,并在末尾添加以下行[global] 配置块如下图所示:

winbind use default domain = true
winbind offline logon = true

13. 为了在 AD 帐户首次登录时在计算机上创建本地主目录,请运行以下命令。

authconfig --enablemkhomedir --update

14. 最后,重新启动 Samba 守护程序以反映更改并通过使用 AD 帐户在服务器上登录来验证域加入。应自动创建 AD 帐户的主目录。

systemctl restart winbind
su - domain_account

15. 通过发出以下命令之一列出域用户或域组。

wbinfo -u
wbinfo -g

16. 要获取有关域用户的信息,请运行以下命令。

wbinfo -i domain_user

17. 要显示摘要域信息,请发出以下命令。

net ads info

步骤3:使用Samba4 AD DC帐户登录CentOS

18. 要在 CentOS 中对域用户进行身份验证,请使用以下命令行语法之一。

su - ‘domain\domain_user’
su - domain\\domain_user

或者使用以下语法,以防 winbind 使用默认域=true 参数设置为 samba 配置文件。

su - domain_user
su - [email 

19. 要为域用户或组添加 root 权限,请使用 visudo 命令编辑 sudoers 文件并添加以下行,如下所示下面的截图。

YOUR_DOMAIN\\domain_username       		 ALL=(ALL:ALL) ALL  	#For domain users
%YOUR_DOMAIN\\your_domain\  group       	 ALL=(ALL:ALL) ALL	#For domain groups

或者使用以下摘录,以防 winbind 使用默认域=true 参数设置为 samba 配置文件。

domain_username 	        	 ALL=(ALL:ALL) ALL  	#For domain users
%your_domain\  group       		 ALL=(ALL:ALL) ALL	#For domain groups

20. 针对 Samba4 AD DC 的以下一系列命令也可用于故障排除:

wbinfo -p #Ping domain
wbinfo -n domain_account #Get the SID of a domain account
wbinfo -t  #Check trust relationship

21. 要离开域,请使用具有提升权限的域帐户对您的域名运行以下命令。从 AD 中删除计算机帐户后,重新启动计算机以恢复集成过程之前的更改。

net ads leave -w DOMAIN -U domain_admin
init 6

就这样!尽管此过程主要侧重于将 CentOS 7 服务器加入 Samba4 AD DC,但此处描述的相同步骤也适用于将 CentOS 服务器集成到 Microsoft Windows Server 2012 Active Directory。