在命令行中將CentOS 7與Samba4 AD集成
本指南將向你介紹如何使用 Authconfig 在命令行中將無圖形界面的 CentOS 7 服務(wù)器集成到 Samba4 AD 域控制器中。
這類設(shè)置提供了由 Samba 持有的單一集中式帳戶數(shù)據(jù)庫,允許 AD 用戶通過網(wǎng)絡(luò)基礎(chǔ)設(shè)施對 CentOS 服務(wù)器進(jìn)行身份驗(yàn)證。
要求
- 在 Ubuntu 上使用 Samba4 創(chuàng)建 AD 基礎(chǔ)架構(gòu)
- CentOS 7.3 安裝指南
步驟 1:為 Samba4 AD DC 配置 CentOS
1、 在開始將 CentOS 7 服務(wù)器加入 Samba4 DC 之前,你需要確保網(wǎng)絡(luò)接口被正確配置為通過 DNS 服務(wù)查詢域。
運(yùn)行 ip address 命令列出你機(jī)器網(wǎng)絡(luò)接口,選擇要編輯的特定網(wǎng)卡,通過針對接口名稱運(yùn)行 nmtui-edit 命令(如本例中的 ens33),如下所示。
- # ip address
- # nmtui-edit ens33
列出網(wǎng)絡(luò)接口
2、 打開網(wǎng)絡(luò)接口進(jìn)行編輯后,添加最適合 LAN 的靜態(tài) IPv4 配置,并確保為 DNS 服務(wù)器設(shè)置 Samba AD 域控制器 IP 地址。
另外,在搜索域中追加你的域的名稱,并使用 [TAB] 鍵跳到確定按鈕來應(yīng)用更改。
當(dāng)你僅對域 dns 記錄使用短名稱時, 已提交的搜索域保證域?qū)?yīng)項(xiàng)會自動追加到 dns 解析 (FQDN) 中。
配置網(wǎng)絡(luò)接口
3、***,重啟網(wǎng)絡(luò)守護(hù)進(jìn)程以應(yīng)用更改,并通過對域名和域控制器 ping 來測試 DNS 解析是否正確配置,如下所示。
- # systemctl restart network.service
- # ping -c2 tecmint.lan# ping -c2 adc1
- # ping -c2 adc2
驗(yàn)證域上的 DNS 解析
4、 另外,使用下面的命令配置你的計算機(jī)主機(jī)名并重啟機(jī)器應(yīng)用更改。
- # hostnamectl set-hostname your_hostname
- # init 6
使用以下命令驗(yàn)證主機(jī)名是否正確配置。
- # cat /etc/hostname
- # hostname
5、 ***,使用 root 權(quán)限運(yùn)行以下命令,與 Samba4 AD DC 同步本地時間。
- # yum install ntpdate
- # ntpdate domain.tld
與 Samba4 AD DC 同步時間
步驟 2:將 CentOS 7 服務(wù)器加入到 Samba4 AD DC
6、 要將 CentOS 7 服務(wù)器加入到 Samba4 AD 中,請先用具有 root 權(quán)限的帳戶在計算機(jī)上安裝以下軟件包。
- # yum install authconfig samba-winbind samba-client samba-winbind-clients
7、 為了將 CentOS 7 服務(wù)器與域控制器集成,可以使用 root 權(quán)限運(yùn)行 authconfig-tui,并使用下面的配置。
- # authconfig-tui
首屏選擇:
- 在 User Information 中:
- Use Winbind
- 在 Authentication 中使用[空格鍵]選擇:
- Use Shadow Password
- Use Winbind Authentication
- Local authorization is sufficient
驗(yàn)證配置
8、 點(diǎn)擊 Next 進(jìn)入 Winbind 設(shè)置界面并配置如下:
- 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 設(shè)置
9、 要加入域,使用 [tab] 鍵跳到 “Join Domain” 按鈕,然后按[回車]鍵加入域。
在下一個頁面,添加具有提升權(quán)限的 Samba4 AD 帳戶的憑據(jù),以將計算機(jī)帳戶加入 AD,然后單擊 “OK” 應(yīng)用設(shè)置并關(guān)閉提示。
請注意,當(dāng)你輸入用戶密碼時,憑據(jù)將不會顯示在屏幕中。在下面再次點(diǎn)擊 OK,完成 CentOS 7 的域集成。
加入域到 Samba4 AD DC
確認(rèn) Winbind 設(shè)置
要強(qiáng)制將機(jī)器添加到特定的 Samba AD OU 中,請使用 hostname 命令獲取計算機(jī)的完整名稱,并使用機(jī)器名稱在該 OU 中創(chuàng)建一個新的計算機(jī)對象。
將新對象添加到 Samba4 AD 中的***方法是已經(jīng)集成到安裝了 RSAT 工具的域的 Windows 機(jī)器上使用 ADUC 工具。
重要:加入域的另一種方法是使用 authconfig 命令行,它可以對集成過程進(jìn)行廣泛的控制。
但是,這種方法很容易因?yàn)槠浔姸鄥?shù)造成錯誤,如下所示。該命令必須輸入一條長命令行。
- # 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、 機(jī)器加入域后,通過使用以下命令驗(yàn)證 winbind 服務(wù)是否正常運(yùn)行。
- # systemctl status winbind.service
11、 接著檢查是否在 Samba4 AD 中成功創(chuàng)建了 CentOS 機(jī)器對象。從安裝了 RSAT 工具的 Windows 機(jī)器使用 AD 用戶和計算機(jī)工具,并進(jìn)入到你的域計算機(jī)容器。一個名為 CentOS 7 Server 的新 AD 計算機(jī)帳戶對象應(yīng)該在右邊的列表中。
12、 ***,使用文本編輯器打開 samba 主配置文件(/etc/samba/smb.conf)來調(diào)整配置,并在 [global] 配置塊的末尾附加以下行,如下所示:
- winbind use default domain = true
- winbind offline logon = true
配置 Samba
13、 為了在 AD 帳戶***登錄時在機(jī)器上創(chuàng)建本地家目錄,請運(yùn)行以下命令:
- # authconfig --enablemkhomedir --update
14、 ***,重啟 Samba 守護(hù)進(jìn)程使更改生效,并使用一個 AD 賬戶登陸驗(yàn)證域加入。AD 帳戶的家目錄應(yīng)該會自動創(chuàng)建。
- # systemctl restart winbind
- # su - domain_account
驗(yàn)證域加入
15、 通過以下命令之一列出域用戶或域組。
- # wbinfo -u
- # wbinfo -g
列出域用戶和組
16、 要獲取有關(guān)域用戶的信息,請運(yùn)行以下命令。
- # wbinfo -i domain_user
列出域用戶信息
17、 要顯示域摘要信息,請使用以下命令。
- # net ads info
列出域摘要
步驟 3:使用 Samba4 AD DC 帳號登錄CentOS
18、 要在 CentOS 中與域用戶進(jìn)行身份驗(yàn)證,請使用以下命令語法之一。
- # su - ‘domain\domain_user’
- # su - domain\\domain_user
或者在 samba 配置文件中設(shè)置了 winbind use default domain = true 參數(shù)的情況下,使用下面的語法。
- # su - domain_user
- # su - domain_user@domain.tld
19、 要為域用戶或組添加 root 權(quán)限,請使用 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 配置文件中設(shè)置了 winbind use default domain = true 參數(shù)的情況下,使用下面的語法。
- domain_username ALL=(ALL:ALL) ALL #For domain users
- %your_domain\ group ALL=(ALL:ALL) ALL #For domain groups
授予域用戶 root 權(quán)限
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、 要離開該域, 請使用具有提升權(quán)限的域帳戶對你的域名運(yùn)行以下命令。從 AD 中刪除計算機(jī)帳戶后, 重啟計算機(jī)以在集成進(jìn)程之前還原更改。
- # net ads leave -w DOMAIN -U domain_admin
- # init 6
就是這樣了!盡管此過程主要集中在將 CentOS 7 服務(wù)器加入到 Samba4 AD DC 中,但這里描述的相同步驟也適用于將 CentOS 服務(wù)器集成到 Microsoft Windows Server 2012 AD 中。