Linux中國

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

這篇文章講的是在兩個 Samba4 活動目錄域控制器之間,通過一些強大的 Linux 工具來完成 SysVol 的複製操作,比如 Rsync 數據同步工具Cron 任務調度進程SSH 協議

需求:

1、在 Ubuntu 系統上使用 Samba4 來創建活動目錄架構

2、在 Linux 命令行下管理 Samba4 AD 架構

3、使用 Windows 10 的 RSAT 工具來管理 Samba4 活動目錄架構

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

5、將另一台 Ubuntu DC 伺服器加入到 Samba4 AD DC 實現雙域控主機模式

第一步:配置 DC 伺服器時間同步

1、在兩個域控制器之間複製 sysvol 目錄的內容之前,你得保證這兩個伺服器時間設置準確且一致。

如果這兩個伺服器的時間延遲大於 5 分鐘,並且時鐘也不同步,你將會遇到 AD 賬號和域複製的各種問題。

為了解決多個域控制器之間時間漂移的問題,你需要在伺服器上執行如下命令來安裝和配置 NTP 服務

# apt-get install ntp

2、在 NTP 服務安裝完成之後,打開主配置文件,把默認的 pool 值注釋(在每行 pool 參數前添加 # ),並且添加新的 pool 值,指向已安裝了 NTP 服務端的主 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

Configure NTP for Samba4

Samba4 配置 NTP 服務

3、先不要關閉該文件,在文件末尾添加如下內容,這是為了讓其它客戶端能夠查詢並與這個 NTP 伺服器同步時間,並發出 NTP 簽署請求,以防主 DC 離線:

restrict source notrap nomodify noquery mssntp
ntpsigndsocket /var/lib/samba/ntp_signd/

4、最後,關閉並保存該配置文件,然後重啟 NTP 服務以應用更改。等待幾分鐘後時間同步完成,執行 ntpq 命令列印出 adc1 時間同步情況。

# systemctl restart ntp
# ntpq -p

Synchronize NTP Time with Samba4 AD

與 Samba4 AD 同步 NTP 時間

第二步:通過 Rsync 命令來複制第一個 DC 伺服器上的 SysVol 目錄

默認情況下,Samba4 AD DC 不會通過 DFS-R 分散式文件系統複製 Distributed File System Replication )或者 FRS 文件複製服務 File Replication Service )來複制 SysVol 目錄。

這意味著只有在第一個域控制器聯機時, 組策略對象 Group Policy objects 才可用。否則組策略設置和登錄腳本不會應用到已加入域的 Windosws 機器上。

為了克服這個障礙,以及基本實現 SysVol 目錄複製的目的,我們通過執行一個基於 SSH 的身份認證並使用 SSH 加密通道的Linux 同步命令來從第一個域控制器安全地傳輸 GPO 對象到第二個域控制器。

這種方式能夠確保 GPO 對象在域控制器之間的一致性,但是也有一個很大的缺點。它只能進行單向同步,因為在同步 GPO 目錄的時候, rsync 命令會從源 DC 伺服器傳輸所有的更改到目標 DC 伺服器,

源 DC 伺服器上不存在的組策略對象也會從目標 DC 伺服器上刪除,為了限制並避免任何衝突,所有的 GPO 編輯操作只能在第一個 DC 伺服器上執行。

5、要進行 SysVol 複製,先到第一個 AD DC 伺服器上生成 SSH 密鑰,然後使用下面的命令把該密鑰傳輸到第二個 DC 伺服器。

在生成密鑰的過程中不要設置密碼,以便在無用戶干預的情況下進行傳輸。

# ssh-keygen -t RSA  
# ssh-copy-id root@adc2  
# ssh adc2 
# exit 

Generate SSH Key on Samba4 DC

在 Samba4 DC 伺服器上生成 SSH 密鑰

6、 當你確認 root 用戶可以從第一個 DC 伺服器以免密碼方式登錄到第二個 DC 伺服器時,執行下面的 rsync 命令,加上 --dry-run 參數來模擬 SysVol 複製過程。注意把對應的參數值替換成你自己的數據。

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

7、如果模擬複製過程正常,那麼再次執行去掉 --dry-run 參數的 rsync 命令,來真實的在域控制器之間複製 GPO 對象。

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

Samba4 AD DC SysVol Replication

Samba4 AD DC SysVol 複製

8、在 SysVol 複製完成之後,登錄到目標域控制器,然後執行下面的命令來列出其中一個 GPO 對象目錄的內容。

從第一個 DC 伺服器上執行這個命令時,列出的 GPO 對象也要相同。

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

Verify Samba4 DC SysVol Replication

驗證 Samba4 DC SysVol 複製結果是否正常

9、為了自動完成組策略複製的過程(通過網路傳輸 sysvol 目錄),你可以使用 root 賬號設置一個任務來執行同步命令,如下所示,設置為每隔 5 分鐘執行一次該命令。

# crontab -e 

添加一條每隔 5 分鐘運行的同步命令,並把執行結果以及錯誤信息輸出到日誌文件 /var/log/sysvol-replication.log 。如果執行命令異常,你可以查看該文件來定位問題。

*/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 許可權有問題,你可以通過下面的命令來檢測和修復這些異常。

# samba-tool ntacl sysvolcheck
# samba-tool ntacl sysvolreset

Fix SysVol ACL Permissions

修復 SysVol ACL 許可權問題

11、如果第一個 Samba4 AD DCFSMO 角色,即「PDC 模擬器」不可用,你可以強制 Microsoft Windows 系統上的組策略管理控制台只連接到第二個域控制器,通過選擇更改域控制器選項和手動選擇目標機器,如下圖所示。

Change Samba4 Domain Controller

更改 Samba4 域控制器

Select Samba4 Domain Controller

選擇 Samba4 域控制器

當你從組策略管理控制台連接到第二個 DC 伺服器時,你應該避免對組策略做任何更改。否則,當第一個 DC 伺服器恢復正常後, rsync 命令將會刪除在第二個 DC 伺服器上所做的更改。

作者簡介:

Matei Cezar -- 我是一個電腦迷,開源軟體和 Linux 系統愛好者,有超過 4 年的 Linux 桌面、伺服器版本系統和 bash 編程經驗。

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

作者:Matei Cezar 譯者:rusking 校對:jasminepeng

本文由 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中國

    Linux中國

    捐贈 Let's Encrypt,共建安全的互聯網

    隨著 Mozilla、蘋果和谷歌對沃通和 StartCom 這兩家 CA 公司處罰落定,很多使用這兩家 CA 所簽發證書的網站紛紛尋求新的證書籤發商。有一個非盈利組織可以為大家提供了免費、可靠和安全的 SSL 證書服務,這就是 Let's Encrypt 項目。現在,它需要您的幫助
    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...