SLES 15 Active Directory 與 SSSD 整合:逐步指南

對於需要網域使用者登入的典型 SUSE Linux Enterprise Server 15 主機,SUSE 文件指出,在大多數 Active Directory 環境中,YaST 使用者登入管理與 SSSD 結合使用是最佳選擇。 SSSD 提供 Linux 身分和 PAM 驗證路徑,而 Active Directory 仍然是帳戶和 Kerberos 驗證的來源。如果您的設計依賴 NTLM 或跨林信任支持,則 Winbind 更為合適。如果您更傾向於自動化,SUSE 還提供了使用 Winbind 加入網域的文檔realmd;Winbind 是一款網域發現和成員資格工具,因此在大規模使用之前,請務必確認您的系統將配置哪些用戶端軟體和存取策略。

本演練遵循 SLES 15 SP7 安全加固指南(2026 年 10 月 6 日更新)。 SUSE 服務包可能有所不同,以下說明僅基於文檔,並不保證這些命令已在您的網域中成功運行。請將範例網域名稱和主機名稱替換為您環境中的實際值。建議先在非關鍵 SLES 機器上進行測試,並保留一個本機管理員帳戶,以防網域身份驗證設定錯誤。

選擇適合這項工作的整合方法。

方法非常合適權衡利弊以製定計劃
YaST 使用者登入管理與 SSSD您需要在 SLES 用戶端或通用伺服器上實現標準的 AD 使用者和群組查找以及 PAM 登入。YaST 透過 SSSD 和相關係統服務套用設定;在部署之前驗證名稱格式、存取規則和主目錄行為。
YaST Windows 網域成員資格與 Winbind您需要面向 Samba 的網域成員資格、NTLM 支援或跨林信任行為。它使用 Winbind 而不是 SSSD 進行網域身份和身份驗證,因此請避免在相同登入設定上疊加這兩個提供者。
realmd 命令列您需要終端工作流程,或想要編寫網域發現和註冊腳本。註冊選項和最終的客戶端配置取決於已安裝的元件和策略。請檢查已發現的網域和最終配置,而不是假設預設值與您的生產存取規則相符。

SUSE 認為基於 SSSD 的 YaST 方案適用於大多數 AD 加入場景,並指出 Winbind 適用於需要 NTLM 或跨林信任的情況。這些方案僅供參考,不能取代針對特定應用程式需求的測試,例如 Samba 檔案服務、sudo 規則、SSH 金鑰查找或多網域衝突等。對於普通的 Linux 登入環境,除非有明確的文件要求,否則建議先使用 SSSD。

加入 SLES 到 Active Directory 之前需要準備什麼?

  • 穩定的主機名稱:選擇預期的完全限定主機名,並確保其在您的網路和 AD 中解析一致。與目錄團隊協調任何計算機帳戶命名規則。
  • 支援 AD 的 DNS: SLES 用戶端必須查詢能夠解析 AD 區域及其服務 (SRV) 記錄的 DNS 伺服器。僅使用公共解析器通常會導致域發現失敗。
  • 時間同步: Kerberos 依賴客戶端和網域控制站之間時鐘的精確同步。在排查密碼或 SSSD 問題之前,請確認 NTP 同步是否正常。
  • 對網域控制器的網路存取:確認防火牆和路由允許組織 AD 設計所需的協定和端口,包括 DNS、Kerberos、LDAP 以及任何必需的全域編錄或密碼更改流量。請勿隨意開放所有連接埠;請 AD/網路管理員提供已批准的規則。
  • 授權註冊身分:使用有權在正確的組織單元中新增或重複使用電腦物件的帳戶。在已授予委派加入權限的情況下,避免例行使用高權限帳號。
  • 恢復存取:保留經過測試的本機管理員登入名稱以及存取控制台的方法。在驗證新的登入路徑之前,請勿將網域設定為存取伺服器的唯一途徑。

SUSE 特別強調了 AD 可存取的 DNS 和 Kerberos 的準確時間。其指南指出,以特定後綴結尾的網域名稱.local在某些加入場景下可能會與組播 DNS 衝突。如果您的 AD 使用了該後綴,請在變更命名或解析器設定之前,先與目錄管理員確認其對您的 SLES 版本和網路配置的影響。

hostnamectl --static
hostname -f
timedatectl status
getent hosts ad01.corp.example.com
host -t SRV _ldap._tcp.dc._msdcs.corp.example.com

在最小安裝環境下,該host命令可能需要 DNS 實用程式套件。這些檢查並不能證明所有必需的防火牆路徑都已開啟;它們有助於在註冊之前發現常見的名稱解析和時鐘問題。

使用 YaST 和 SSSD 加入網域

  1. 設定解析器。開啟 YaST,選擇「網路設定」,然後選擇「主機名稱/DNS」。設定 AD DNS 伺服器,或能夠正確轉送 AD 區域的內部解析器。儲存並確認主機可以解析網域控制站和 AD 服務記錄。
  2. 開啟用戶登入管理。在 YaST 主視窗中,啟動使用者登入管理並選擇「變更設定」。這是 SLES 15 SP7 指南中基於 SSSD 的驗證模組;它與使用 Winbind 的Windows 網域成員資格模組不同。
  3. 新增 AD 網域。選擇「新增網域」,輸入 DNS 網域名稱(例如 `<domain_name>`)corp.example.com,然後選擇「Microsoft Active Directory」作為身分資料和驗證方式。確保已啟用該網域。如果您的網路不適用 DNS 自動發現,請依照指南中的說明指定已核准的網域控制站主機名稱。
  4. 檢查計算機名稱和發現結果。將本機主機名稱與 AD 中目標電腦名稱進行比較。在註冊之前糾正任何不匹配。 YaST 應該能夠發現 AD 伺服器並報告客戶端尚未註冊。如果發現失敗,則應返回 DNS、時間、路由和防火牆檢查,而不是嘗試隨機身份驗證提供者。
  5. 使用已授權的帳戶註冊。輸入允許加入該電腦的 AD 憑證。 YaST 可以在流程中安裝缺少的軟體。對話方塊可能會提供覆蓋 Samba 配置的選項;僅當此變更適用於您的 Samba/AD 設定時才啟用此選項,如果 Samba 服務已在使用中,請先保留現有設定。
  6. 啟用預期的登入行為。在「管理網域使用者登入」中,僅在確定哪些帳戶應具有存取權限後才啟用網域使用者登入。如果使用者需要,請配置本機主目錄的建立。 SUSE 文件中提供了相關fallback_homedir選項override_homedir,並展示/home/%u了可能的格式。在多網域環境中,請設計一個唯一的路徑,並在僅依賴簡短使用者名稱之前查閱 SSSD 手冊。
  7. 儲存、審核並使用非特權使用者進行測試。應用設定,確認網域和所選選項正確,然後在控制台或您計劃使用的實際登入服務中使用普通網域帳戶進行測試。請勿僅使用加入電腦的帳戶進行測試。

如何驗證 SSSD 加入?

檢查 SSSD 是否已激活,NSS 是否能夠解析已知的網域身份,以及實際登入是否成功。測試使用者登入後,檢查是否有 Kerberos 票證。 SUSE 將其列入klist連線getent passwd檢查清單中。

systemctl status sssd
getent passwd 'alex@corp.example.com'
id 'alex@corp.example.com'
klist

確切的識別字串取決於 SSSD 命名設定;某些環境使用DOMAIN\user非 UPN 樣式的名稱。如果getent未傳回任何記錄,請驗證您是否正在查詢已配置的名稱格式和網域,然後檢查服務日誌:

sudo journalctl -u sssd --since "15 minutes ago"

僅憑查找成功並不能證明使用者可以登錄,現有的 Kerberos 票據也不能證明每個應用程式都使用預期的 PAM 協定堆疊。請測試新會話、必要時變更密碼、基於群組的授權以及相關的 SSH 或桌面登入路徑。確認存取權限僅限於您預期允許的人員。

SSSD 還是 Winbind:哪個權衡比較重要?

對於大多數需要 AD 身分和互動式登入的 SLES 客戶而言,SSSD 是 SUSE 使用者登入管理指南支援的最佳選擇。它整合了身份查找和 PAM 身份驗證,並且可以快取訊息,以便在目錄暫時無法存取時保持系統恢復。快取存取也有其限制:首次登入不能依賴快取的憑證,並且目錄支援的資源或密碼變更仍然需要可存取的網域控制站。因此,應建立並測試您的離線登入策略,而不是將快取視為解決 AD 完全中斷的萬用方案。

當需求明確依賴 Samba 的網域整合、NTLM 或跨林信任時,請選擇 Winbind。它並非 SSSD 的簡單替代方案:每個方案都使用不同的守護程序和 NSS/PAM 元件。請記錄哪個服務負責網域查找和登錄,並避免將舊的手動 PAM/NSS 編輯與 YaST 管理的設定混用。

當可重複的 shell 工作流程至關重要時,請使用此方法realmd。 SUSE 的 SLES 15 SP7 儲存管理指南文件realm discover --verbose涵蓋了基於 DNS 的發現、realm join --verbose註冊和realm permit登入權限。請檢查您的版本中選擇了哪些用戶端軟體以及產生的 SSSD 設定。除非有明確的策略,否則請避免在生產環境中啟用廣泛的「允許所有人」存取權。

常見故障及後續檢查

  • 網域發現未傳回任何結果:檢查用戶端的 DNS 伺服器和 AD SRV 記錄,然後確認主機可以存取列出的網域控制站。
  • 即使密碼正確,Kerberos 仍然出錯:檢查系統時間同步、網域控制站使用的 DNS 名稱,以及電腦帳戶是否已啟用且名稱正確。
  • 使用者已解析但無法登入:確認 YaST 中已啟用網域登錄,檢查 AD 中的存取限制和帳戶狀態,並查看 SSSD/PAM 日誌。
  • 登入成功,但缺少主目錄:請確認已啟用建立主目錄功能,且配置的路徑對於該使用者是有效且唯一的。
  • 加入失敗(之前已進行過相關實驗):請檢查是否存在過時的電腦物件、重複的主機名稱、殘留的 Winbind 或手動 NSS/PAM 配置以及不匹配的電腦密碼。在刪除電腦物件或清除本機 SSSD 資料之前,請與 AD 管理員協調清理工作。

什麼時候應該停止並選擇不同的方法?

如果您的環境依賴跨林信任行為、NTLM、Samba 伺服器角色、多個林中存在重疊的短用戶名,或 YaST 基本設定無法涵蓋的複雜存取規則,請在部署前暫停。這些情況可能會改變首選提供者或需要額外的 SSSD 配置。請使用代表性帳戶和真實服務在測試環境中進行測試,並在策略驗證通過之前保留恢復登入。

總結:對於需要 Active Directory 身分和登入的標準 SLES 15 SP7 工作站或伺服器,首先應使用由 SSSD 支援的 YaST 使用者登入管理方案。首先確保 DNS、時間、主機名稱和加入權限正確;然後驗證名稱查找、Kerberos、PAM 登入和存取範圍。如果 SUSE 明確指出有特定的 Samba、NTLM 或跨林要求,且 Winbindrealmd的命令列工作流程更符合您的操作流程,則可以選擇 Winbind。

來源:SUSE SLES 15 SP7 安全性和強化指南:Active Directory 支援;SUSE SLES 15 SP7 儲存管理指南:realmd;SUSE SLES 15 SP7:身分驗證客戶端和 SSSD;SUSE SLES 15 SP7 發行說明。

留下評論

SLES 線上修補程式配置指南:無需重新啟動即可套用核心更新

SLES 線上修補程式配置指南:無需重新啟動即可套用核心更新

在 SLES 15 SP7 上啟用核心即時修補,無需重新啟動即可應用支援的修復程序,驗證活動補丁,並了解何時仍需要重新啟動核心。

如何在 SUSE Linux Enterprise Server 15 上啟用 FIPS 模式

如何在 SUSE Linux Enterprise Server 15 上啟用 FIPS 模式

使用 SUSE 支援的設定公用程式在 SLES 15 上啟用 FIPS 模式,安全重啟,驗證核心和加密策略狀態,並檢查認證限制。

如何在不違反安全策略的情況下在 Gooroom OS 上安裝 Google Chrome

如何在不違反安全策略的情況下在 Gooroom OS 上安裝 Google Chrome

使用官方 .deb 軟體包、APT、策略檢查、更新指南和受管設備修復程序,安全地在 Gooroom OS 上安裝 Google Chrome。

如何安全地將SLES系統日誌匯出到遠端Syslog伺服器

如何安全地將SLES系統日誌匯出到遠端Syslog伺服器

使用 rsyslog、TLS 憑證、對等名稱驗證、佇列、驗證和測試,安全地將 SLES 系統日誌轉送到遠端 syslog 伺服器。

SLES 15 Active Directory 與 SSSD 整合:逐步指南

SLES 15 Active Directory 與 SSSD 整合:逐步指南

使用 YaST 將 SLES 15 加入到具有 SSSD 的 Active Directory。準備 DNS 和時間,配置網域登錄,驗證 Kerberos,並比較 SSSD、Winbind 和 realmd。

修正 Pardus Linux 系統上的 Realtek RTL8821CE Wi-Fi 驅動程式問題

修正 Pardus Linux 系統上的 Realtek RTL8821CE Wi-Fi 驅動程式問題

透過檢查內建的 rtw88 驅動程式、Realtek 韌體、rfkill、NetworkManager 和安全性回退選項來修復 Pardus Linux 上的 RTL8821CE Wi-Fi。

修正 Debian 12 中 systemd-resolved 導致的「DNS 解析暫時失敗」問題

修正 Debian 12 中 systemd-resolved 導致的「DNS 解析暫時失敗」問題

使用 systemd-resolved 診斷和修復 Debian 12 DNS 解析失敗,包括 resolv.conf、NetworkManager、networkd、快取和驗證。

如何安全地在 Windows 11 系統上安裝 Pardus Linux 雙系統

如何安全地在 Windows 11 系統上安裝 Pardus Linux 雙系統

在 Windows 11 旁邊安裝 Pardus 25.2,方法是備份、縮小 Windows 磁碟區、啟動 UEFI USB 並保護現有的 EFI 和復原分割區。

修正 SLES 系統中 Zypper 儲存庫刷新失敗錯誤 500 的問題。

修正 SLES 系統中 Zypper 儲存庫刷新失敗錯誤 500 的問題。

診斷 SUSE Linux Enterprise Server 中 Zypper 刷新失敗所導致的 HTTP 500 錯誤。確定故障儲存庫,檢查代理程式和註冊訊息,然後安全地刷新元資料。

Pardus 軟體套件管理器 (PETA) 與標準 APT 命令列:目前 Pardus 實際使用哪一個?

Pardus 軟體套件管理器 (PETA) 與標準 APT 命令列:目前 Pardus 實際使用哪一個?

將所謂的 Pardus 軟體套件管理器「PETA」與 APT 進行比較,明確目前 Pardus 軟體包工具,並選擇適合桌面使用或管理的介面。