Samba 系列(六):使用 Rsync 命令同步兩個(gè) Samba4 AD DC 之間的 SysVol 目錄

這篇文章講的是在兩個(gè)Samba4 活動(dòng)目錄域控制器之間,通過(guò)一些強(qiáng)大的 Linux 工具來(lái)完成 SysVol 的復(fù)制操作,比如Rsync 數(shù)據(jù)同步工具Cron 任務(wù)調(diào)度進(jìn)程SSH 協(xié)議。

需求:

1、在 Ubuntu 系統(tǒng)上使用 Samba4 來(lái)創(chuàng)建活動(dòng)目錄架構(gòu)

2、在 Linux 命令行下管理 Samba4 AD 架構(gòu)

3、使用 Windows 10 的 RSAT 工具來(lái)管理 Samba4 活動(dòng)目錄架構(gòu)

4、在 Windows 下管理 Samba4 AD 域管制器 DNS 和組策略

5、將另一臺(tái) Ubuntu DC 服務(wù)器加入到 Samba4 AD DC 實(shí)現(xiàn)雙域控主機(jī)模式

第一步:配置 DC 服務(wù)器時(shí)間同步

1、在兩個(gè)域控制器之間復(fù)制sysvol目錄的內(nèi)容之前,你得保證這兩個(gè)服務(wù)器時(shí)間設(shè)置準(zhǔn)確且一致。

如果這兩個(gè)服務(wù)器的時(shí)間延遲大于 5 分鐘,并且時(shí)鐘也不同步,你將會(huì)遇到 AD 賬號(hào)和域復(fù)制的各種問(wèn)題。

為了解決多個(gè)域控制器之間時(shí)間漂移的問(wèn)題,你需要在服務(wù)器上執(zhí)行如下命令來(lái)安裝和配置 NTP 服務(wù)。

# apt-get install ntp

2、在 NTP 服務(wù)安裝完成之后,打開主配置文件,把默認(rèn)的 pool 值注釋(在每行 pool 參數(shù)前添加 # ),并且添加新的 pool 值,指向已安裝了NTP服務(wù)端的主Samba4 AD DC FQDN,如下所示。

# nano /etc/ntp.conf

把下面幾行添加到ntp.conf配置文件。

pool 0.ubuntu.pool.ntp.org iburst

#pool 1.ubuntu.pool.ntp.org iburst

#pool 2.ubuntu.pool.ntp.org iburst

#pool 3.ubuntu.pool.ntp.org iburst

pool adc1.tecmint.lan

# Use Ubuntu's ntp server as a fallback.

pool ntp.ubuntu.com

Samba4 配置 NTP 服務(wù)

3、先不要關(guān)閉該文件,在文件末尾添加如下內(nèi)容,這是為了讓其它客戶端能夠查詢并與這個(gè) NTP 服務(wù)器同步時(shí)間,并發(fā)出 NTP 簽署請(qǐng)求,以防主 DC 離線:

restrict source notrap nomodify noquery mssntp

ntpsigndsocket /var/lib/samba/ntp_signd/

4、最后,關(guān)閉并保存該配置文件,然后重啟 NTP 服務(wù)以應(yīng)用更改。等待幾分鐘后時(shí)間同步完成,執(zhí)行ntpq命令打印出adc1時(shí)間同步情況。

# systemctl restart ntp

# ntpq -p

與 Samba4 AD 同步 NTP 時(shí)間

第二步:通過(guò) Rsync 命令來(lái)復(fù)制第一個(gè) DC 服務(wù)器上的 SysVol 目錄

默認(rèn)情況下,Samba4 AD DC不會(huì)通過(guò)DFS-R(分布式文件系統(tǒng)復(fù)制Distributed File System Replication)或者FRS(文件復(fù)制服務(wù)File Replication Service)來(lái)復(fù)制 SysVol 目錄。

這意味著只有在第一個(gè)域控制器聯(lián)機(jī)時(shí),組策略對(duì)象Group Policy objects才可用。否則組策略設(shè)置和登錄腳本不會(huì)應(yīng)用到已加入域的 Windosws 機(jī)器上。

為了克服這個(gè)障礙,以及基本實(shí)現(xiàn) SysVol 目錄復(fù)制的目的,我們通過(guò)執(zhí)行一個(gè)基于 SSH 的身份認(rèn)證并使用 SSH 加密通道的Linux 同步命令來(lái)從第一個(gè)域控制器安全地傳輸GPO對(duì)象到第二個(gè)域控制器。

這種方式能夠確保GPO對(duì)象在域控制器之間的一致性,但是也有一個(gè)很大的缺點(diǎn)。它只能進(jìn)行單向同步,因?yàn)樵谕?GPO 目錄的時(shí)候,rsync命令會(huì)從源 DC 服務(wù)器傳輸所有的更改到目標(biāo) DC 服務(wù)器,

源 DC 服務(wù)器上不存在的組策略對(duì)象也會(huì)從目標(biāo) DC 服務(wù)器上刪除,為了限制并避免任何沖突,所有的 GPO 編輯操作只能在第一個(gè) DC 服務(wù)器上執(zhí)行。

5、要進(jìn)行SysVol復(fù)制,先到第一個(gè) AD DC 服務(wù)器上生成 SSH 密鑰,然后使用下面的命令把該密鑰傳輸?shù)降诙€(gè) DC 服務(wù)器。

在生成密鑰的過(guò)程中不要設(shè)置密碼,以便在無(wú)用戶干預(yù)的情況下進(jìn)行傳輸。

# ssh-keygen -t RSA?

# ssh-copy-id root@adc2?

# ssh adc2

# exit

在 Samba4 DC 服務(wù)器上生成 SSH 密鑰

6、 當(dāng)你確認(rèn) root 用戶可以從第一個(gè)DC服務(wù)器以免密碼方式登錄到第二個(gè)DC服務(wù)器時(shí),執(zhí)行下面的rsync命令,加上--dry-run參數(shù)來(lái)模擬 SysVol 復(fù)制過(guò)程。注意把對(duì)應(yīng)的參數(shù)值替換成你自己的數(shù)據(jù)。

# rsync --dry-run -XAavz --chmod=775 --delete-after? --progress --stats? /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/

7、如果模擬復(fù)制過(guò)程正常,那么再次執(zhí)行去掉--dry-run參數(shù)的rsync命令,來(lái)真實(shí)的在域控制器之間復(fù)制 GPO 對(duì)象。

# rsync -XAavz --chmod=775 --delete-after? --progress --stats? /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/

Samba4 AD DC SysVol 復(fù)制

8、在 SysVol 復(fù)制完成之后,登錄到目標(biāo)域控制器,然后執(zhí)行下面的命令來(lái)列出其中一個(gè) GPO 對(duì)象目錄的內(nèi)容。

從第一個(gè) DC 服務(wù)器上執(zhí)行這個(gè)命令時(shí),列出的 GPO 對(duì)象也要相同。

# ls -alh /var/lib/samba/sysvol/your_domain/Policiers/

驗(yàn)證 Samba4 DC SysVol 復(fù)制結(jié)果是否正常

9、為了自動(dòng)完成組策略復(fù)制的過(guò)程(通過(guò)網(wǎng)絡(luò)傳輸 sysvol 目錄),你可以使用 root 賬號(hào)設(shè)置一個(gè)任務(wù)來(lái)執(zhí)行同步命令,如下所示,設(shè)置為每隔 5 分鐘執(zhí)行一次該命令。

# crontab -e

添加一條每隔 5 分鐘運(yùn)行的同步命令,并把執(zhí)行結(jié)果以及錯(cuò)誤信息輸出到日志文件/var/log/sysvol-replication.log。如果執(zhí)行命令異常,你可以查看該文件來(lái)定位問(wèn)題。

*/5 * * * * rsync -XAavz --chmod=775 --delete-after? --progress --stats? /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&1

10、如果以后SysVol ACL權(quán)限有問(wèn)題,你可以通過(guò)下面的命令來(lái)檢測(cè)和修復(fù)這些異常。

# samba-tool ntacl sysvolcheck

# samba-tool ntacl sysvolreset

修復(fù) SysVol ACL 權(quán)限問(wèn)題

11、如果第一個(gè)Samba4 AD DCFSMO角色,即“PDC 模擬器”不可用,你可以強(qiáng)制Microsoft Windows系統(tǒng)上的組策略管理控制臺(tái)只連接到第二個(gè)域控制器,通過(guò)選擇更改域控制器選項(xiàng)和手動(dòng)選擇目標(biāo)機(jī)器,如下圖所示。

更改 Samba4 域控制器

選擇 Samba4 域控制器

當(dāng)你從組策略管理控制臺(tái)連接到第二個(gè)DC服務(wù)器時(shí),你應(yīng)該避免對(duì)組策略做任何更改。否則,當(dāng)?shù)谝粋€(gè)DC服務(wù)器恢復(fù)正常后,rsync 命令將會(huì)刪除在第二個(gè) DC 服務(wù)器上所做的更改。

作者簡(jiǎn)介:

Matei Cezar -- 我是一個(gè)電腦迷,開源軟件和 Linux 系統(tǒng)愛(ài)好者,有超過(guò) 4 年的 Linux 桌面、服務(wù)器版本系統(tǒng)和 bash 編程經(jīng)驗(yàn)。

via:http://www.tecmint.com/samba4-ad-dc-sysvol-replication/

作者:Matei Cezar譯者:rusking校對(duì):jasminepeng

本文由LCTT原創(chuàng)編譯,Linux中國(guó)榮譽(yù)推出

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容