Linux中國

Samba 系列(十四):在命令行中將 CentOS 7 與 Samba4 AD 集成

本指南將向你介紹如何使用 Authconfig 在命令行中將無圖形界面的 CentOS 7 伺服器集成到 Samba4 AD 域控制器中。

這類設置提供了由 Samba 持有的單一集中式帳戶資料庫,允許 AD 用戶通過網路基礎設施對 CentOS 伺服器進行身份驗證。

要求

  1. 在 Ubuntu 上使用 Samba4 創建 AD 基礎架構
  2. CentOS 7.3 安裝指南

步驟 1:為 Samba4 AD DC 配置 CentOS

1、 在開始將 CentOS 7 伺服器加入 Samba4 DC 之前,你需要確保網路介面被正確配置為通過 DNS 服務查詢域。

運行 ip address 命令列出你機器網路介面,選擇要編輯的特定網卡,通過針對介面名稱運行 nmtui-edit 命令(如本例中的 ens33),如下所示。

# ip address
# nmtui-edit ens33

List Network Interfaces

列出網路介面

2、 打開網路介面進行編輯後,添加最適合 LAN 的靜態 IPv4 配置,並確保為 DNS 伺服器設置 Samba AD 域控制器 IP 地址。

另外,在搜索域中追加你的域的名稱,並使用 [TAB] 鍵跳到確定按鈕來應用更改。

當你僅對域 dns 記錄使用短名稱時, 已提交的搜索域保證域對應項會自動追加到 dns 解析 (FQDN) 中。

Configure Network Interface

配置網路介面

3、最後,重啟網路守護進程以應用更改,並通過對域名和域控制器 ping 來測試 DNS 解析是否正確配置,如下所示。

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

Verify DNS Resolution on Domain

驗證域上的 DNS 解析

4、 另外,使用下面的命令配置你的計算機主機名並重啟機器應用更改。

# hostnamectl set-hostname your_hostname
# init 6

使用以下命令驗證主機名是否正確配置。

# cat /etc/hostname
# hostname

5、 最後,使用 root 許可權運行以下命令,與 Samba4 AD DC 同步本地時間。

# yum install ntpdate
# ntpdate domain.tld

Sync Time with Samba4 AD DC

與 Samba4 AD DC 同步時間

步驟 2:將 CentOS 7 伺服器加入到 Samba4 AD DC

6、 要將 CentOS 7 伺服器加入到 Samba4 AD 中,請先用具有 root 許可權的帳戶在計算機上安裝以下軟體包。

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

7、 為了將 CentOS 7 伺服器與域控制器集成,可以使用 root 許可權運行 authconfig-tui,並使用下面的配置。

# authconfig-tui

首屏選擇:

  • 在 User Information 中:
    • Use Winbind
  • 在 Authentication 中使用[空格鍵]選擇:
    • Use Shadow Password
    • Use Winbind Authentication
    • Local authorization is sufficient

Authentication Configuration

驗證配置

8、 點擊 Next 進入 Winbind 設置界面並配置如下:

  • Security Model: ads
  • Domain = YOUR_DOMAIN (use upper case)
  • Domain Controllers = domain machines FQDN (comma separated if more than one)
  • ADS Realm = YOUR_DOMAIN.TLD
  • Template Shell = /bin/bash

Winbind Settings

Winbind 設置

9、 要加入域,使用 [tab] 鍵跳到 「Join Domain」 按鈕,然後按[回車]鍵加入域。

在下一個頁面,添加具有提升許可權的 Samba4 AD 帳戶的憑據,以將計算機帳戶加入 AD,然後單擊 「OK」 應用設置並關閉提示。

請注意,當你輸入用戶密碼時,憑據將不會顯示在屏幕中。在下面再次點擊 OK,完成 CentOS 7 的域集成。

Join Domain to Samba4 AD DC

加入域到 Samba4 AD DC

Confirm Winbind Settings

確認 Winbind 設置

要強制將機器添加到特定的 Samba AD OU 中,請使用 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 Server 的新 AD 計算機帳戶對象應該在右邊的列表中。

12、 最後,使用文本編輯器打開 samba 主配置文件(/etc/samba/smb.conf)來調整配置,並在 [global] 配置塊的末尾附加以下行,如下所示:

winbind use default domain = true
winbind offline logon = true

Configure Samba

配置 Samba

13、 為了在 AD 帳戶首次登錄時在機器上創建本地家目錄,請運行以下命令:

# authconfig --enablemkhomedir --update

14、 最後,重啟 Samba 守護進程使更改生效,並使用一個 AD 賬戶登陸驗證域加入。AD 帳戶的家目錄應該會自動創建。

# systemctl restart winbind
# su - domain_account

Verify Domain Joining

驗證域加入

15、 通過以下命令之一列出域用戶或域組。

# wbinfo -u
# wbinfo -g

List Domain Users and Groups

列出域用戶和組

16、 要獲取有關域用戶的信息,請運行以下命令。

# wbinfo -i domain_user

List Domain User Info

列出域用戶信息

17、 要顯示域摘要信息,請使用以下命令。

# net ads info

List Domain Summary

列出域摘要

步驟 3:使用 Samba4 AD DC 帳號登錄CentOS

18、 要在 CentOS 中與域用戶進行身份驗證,請使用以下命令語法之一。

# su - 『domaindomain_user』
# su - domain\domain_user

或者在 samba 配置文件中設置了 winbind use default domain = true 參數的情況下,使用下面的語法。

# su - domain_user
# su - domain_user@domain.tld

19、 要為域用戶或組添加 root 許可權,請使用 visudocommand 編輯 sudoers 文件,並添加以下截圖所示的行。

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

或者在 samba 配置文件中設置了 winbind use default domain = true 參數的情況下,使用下面的語法。

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

Grant Root Privileges on Domain Users

授予域用戶 root 許可權

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 AD 中。

作者簡介:

Matei Cezar - 我是一個電腦上癮的傢伙,開源和基於 linux 的系統軟體的粉絲,在 Linux 發行版桌面、伺服器和 bash 腳本方面擁有大約 4 年的經驗。

via: https://www.tecmint.com/integrate-centos-7-to-samba4-active-directory/

作者:Matei Cezar 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國