Samba 系列(十四):在命令行中將 CentOS 7 與 Samba4 AD 集成
本指南將向你介紹如何使用 Authconfig 在命令行中將無圖形界面的 CentOS 7 伺服器集成到 Samba4 AD 域控制器中。
這類設置提供了由 Samba 持有的單一集中式帳戶資料庫,允許 AD 用戶通過網路基礎設施對 CentOS 伺服器進行身份驗證。
要求
步驟 1:為 Samba4 AD DC 配置 CentOS
1、 在開始將 CentOS 7 伺服器加入 Samba4 DC 之前,你需要確保網路介面被正確配置為通過 DNS 服務查詢域。
運行 ip address
命令列出你機器網路介面,選擇要編輯的特定網卡,通過針對介面名稱運行 nmtui-edit
命令(如本例中的 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
驗證域上的 DNS 解析
4、 另外,使用下面的命令配置你的計算機主機名並重啟機器應用更改。
# hostnamectl set-hostname your_hostname
# init 6
使用以下命令驗證主機名是否正確配置。
# cat /etc/hostname
# hostname
5、 最後,使用 root 許可權運行以下命令,與 Samba4 AD DC 同步本地時間。
# yum install ntpdate
# ntpdate domain.tld
與 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
驗證配置
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 設置
9、 要加入域,使用 [tab] 鍵跳到 「Join Domain」 按鈕,然後按[回車]鍵加入域。
在下一個頁面,添加具有提升許可權的 Samba4 AD 帳戶的憑據,以將計算機帳戶加入 AD,然後單擊 「OK」 應用設置並關閉提示。
請注意,當你輸入用戶密碼時,憑據將不會顯示在屏幕中。在下面再次點擊 OK,完成 CentOS 7 的域集成。
加入域到 Samba4 AD DC
確認 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
配置 Samba
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 - 『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
授予域用戶 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive