1014
京東網上商城
Samba 係列(六):使用 Rsync 命令同步兩個 Samba4 AD DC 之間的 SysVol 目錄
需求:
1、在 Ubuntu 係統上使用 Samba4 來創建活動目錄架構
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
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
與 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
在 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 複製
8、在 SysVol 複製完成之後,登錄到目標域控製器,然後執行下麵的命令來列出其中一個 GPO 對象目錄的內容。
從第一個 DC 服務器上執行這個命令時,列出的 GPO 對象也要相同。
# ls -alh /var/lib/samba/sysvol/your_domain/Policiers/
驗證 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
修複 SysVol ACL 權限問題
11、如果第一個 Samba4 AD DC 的 FSMO 角色,即“PDC 模擬器”不可用,你可以強製 Microsoft Windows係統上的組策略管理控製台隻連接到第二個域控製器,通過選擇更改域控製器選項和手動選擇目標機器,如下圖所示。
更改 Samba4 域控製器
選擇 Samba4 域控製器
當你從組策略管理控製台連接到第二個 DC 服務器時,你應該避免對組策略做任何更改。否則,當第一個 DC 服務器恢複正常後, rsync 命令將會刪除在第二個 DC 服務器上所做的更改。
原文發布時間為:2017-04-08
本文來自雲棲社區合作夥伴“Linux中國”
最後更新:2017-05-23 15:02:55
上一篇:
幹貨丨喬俊飛:麵向汙水處理過程控製的多目標智能優化方法研究
下一篇:
Linux 命令行工具使用小貼士及技巧(三)
《深入理解Elasticsearch(原書第2版)》一2.3 查詢模板
U盤不小心格式化了數據怎麼恢複教程
java的cglib動態代理報java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter
APPLE WATCH為何不用圓形表盤?
[iphone] NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (實例)
是什麼讓 AI 時代真正到來
【白碩】當人工智能遇到區塊鏈,是驚鴻一瞥還是天長地久?
《Java特種兵》5.1 基礎介紹
springmvc3.1.1前端string類型向後台傳遞後轉date類型報錯的處理
關於寫ruby c ext 的一些問題(1)