將 SUSE Linux Enterprise 虛擬機器加入 Microsoft Entra Domain Services 受控網域
若要讓使用者使用單一認證集合登入 Azure 中的虛擬機器(VM),您可以將 VM 加入 Microsoft Entra Domain Services 受控網域。 當您將 VM 加入 Domain Services 受控網域時,網域中的使用者帳戶和認證可用來登入和管理伺服器。 也會套用受控網域中的群組成員資格,讓您控制 VM 上檔案或服務的存取權。
本文說明如何將 SUSE Linux Enterprise (SLE) VM 加入受控網域。
必要條件
若要完成本教學課程,您需要下列資源和許可權:
- 啟用中的 Azure 訂用帳戶。
- 如果您沒有 Azure 訂用帳戶, 請建立帳戶 。
- 與您的訂用帳戶相關聯的 Microsoft Entra 租使用者,會與內部部署目錄或僅限雲端目錄同步。
- 如有需要, 請建立 Microsoft Entra 租使用者 ,或 建立 Azure 訂用帳戶與您的帳戶 的關聯。
- 在您的 Microsoft Entra 租使用者中啟用和設定 Microsoft Entra Domain Services 受控網域。
- 如有需要,第一個教學課程 會建立並設定 Microsoft Entra Domain Services 受控網域 。
- 屬於受控網域一部分的使用者帳戶。
- 唯一的 Linux VM 名稱上限為 15 個字元,以避免在 Active Directory 中造成衝突的截斷名稱。
建立並聯機到 SLE Linux VM
如果您在 Azure 中有現有的 SLE Linux VM,請使用 SSH 連線到它,然後繼續進行下一個步驟以 開始設定 VM 。
如果您需要建立 SLE Linux VM,或想要建立測試 VM 以搭配本文使用,您可以使用下列其中一種方法:
當您建立 VM 時,請注意虛擬網路設定,以確定 VM 可以與受控網域通訊:
- 將 VM 部署到您已啟用 Microsoft Entra Domain Services 的相同或對等互連虛擬網路。
- 將 VM 部署到與您 Microsoft Entra Domain Services 受控網域不同的子網。
部署 VM 之後,請遵循使用 SSH 連線到 VM 的步驟。
設定 hosts 檔案
若要確定已針對受控網域正確設定 VM 主機名稱,請編輯 /etc/hosts 檔案並設定主機名稱:
sudo vi /etc/hosts
在主機 檔案中 ,更新 localhost 位址。 在以下範例中:
- aaddscontoso.com 是您受控網域的 DNS 功能變數名稱。
- linux-q2gr 是您加入受控網域的 SLE VM 主機名稱。
以您自己的值更新這些名稱:
127.0.0.1 linux-q2gr linux-q2gr.aaddscontoso.com
完成後,請使用 :wq
編輯器的命令儲存並結束 hosts 檔案。
使用 SSSD 將 VM 加入受控網域
若要使用 SSSD 和 YaST 的使用者登入管理 模組來加入受控網域,請完成下列步驟:
安裝使用者登入管理 YaST 模組:
sudo zypper install yast2-auth-client
開啟 YaST。
若要稍後成功使用 DNS 自動探索,請將受控網域 IP 位址 ( Active Directory 伺服器 ) 設定為用戶端的名稱伺服器。
在 YaST 中,選取 [系統 > 網路設定 ]。
選取 [ 主機名稱/DNS] 索引標籤,然後在 [名稱伺服器 1 ] 文字方塊中 輸入受控網域的 IP 位址。 這些 IP 位址會顯示在 受控網域的 Microsoft Entra 系統管理中心的 [屬性 ] 視窗中,例如 10.0.2.4 和 10.0.2.5 。
新增您自己的受控網域 IP 位址,然後選取 [ 確定 ]。
從 YaST 主視窗中,選擇 [ 網路服務 > 使用者登入管理 ]。
模組隨即開啟,其中概觀顯示電腦的不同網路屬性,以及目前使用的驗證方法,如下列範例螢幕擷取畫面所示:
若要開始編輯,請選取 [ 變更設定 ]。
若要將 VM 加入受控網域,請完成下列步驟:
在對話方塊中,選取 [ 新增網域 ]。
指定正確的 功能變數名稱 ,例如 aaddscontoso.com ,然後指定要用於身分識別資料和驗證的服務。 針對這兩者選取 [Microsoft Active Directory ]。
請確定已選取 [ 啟用網域 ] 的選項。
準備好時,請選取 [ 確定 ]。
接受下列對話方塊中的預設設定,然後選取 [ 確定 ]。
VM 會視需要安裝其他軟體,然後檢查受控網域是否可用。
如果一切正確,則會顯示下列範例對話方塊,指出 VM 已探索到受控網域,但您 尚未註冊 。
在對話方塊中,指定 屬於受控網域一部分之使用者的使用者名稱和密碼。 如有需要, 請將使用者帳戶新增至 Microsoft Entra ID 中的群組。
若要確定已針對 Samba 啟用目前的網域,請啟用 覆寫 Samba 設定以使用此 AD 。
若要註冊,請選取 [ 確定 ]。
顯示訊息以確認您已成功註冊。 若要完成,請選取 [ 確定 ]。
在受控網域中註冊 VM 之後,請使用 [管理網域使用者登入 ] 設定用戶端,如下列範例螢幕擷取畫面所示:
若要允許使用受控網域所提供的資料登入,請核取 [允許網域使用者登入 ] 的 方塊。
或者,在 [啟用網域資料來源 ] 底下 ,視您的環境需要檢查其他資料來源。 這些選項包括哪些使用者可以使用 sudo 或哪些網路磁碟機機可供使用 。
若要允許受控網域中的使用者在 VM 上擁有主目錄,請核取 [建立主目錄 ] 的 方塊。
從提要列,選取 [服務選項 ] [ 名稱] 參數 ,然後 選取 [擴充選項 ]。 從該視窗中,選取 [fallback_homedir] 或 [ override_homedir ],然後選取 [ 新增 ]。
指定主目錄位置的值。 若要讓主目錄遵循 /home/USER_NAME 的格式 ,請使用 /home/%u 。 如需可能變數的詳細資訊,請參閱 sssd.conf man 頁面 (
man 5 sssd.conf
), 區段 override_homedir 。選取 [確定]。
若要儲存變更,請選取 [確定]。 然後,請確定現在顯示的值正確。 若要離開對話方塊,請選取 [ 取消 ]。
如果您想要同時執行 SSSD 和 Winbind(例如,透過 SSSD 加入,但接著執行 Samba 檔案伺服器),Samba 選項 kerberos 方法 應該設定為 smb.conf 中的秘密和 keytab 。 SSSD 選項 ad_update_samba_machine_account_password 也應該在 sssd.conf 中設定為 true 。 這些選項可防止系統索引鍵表同步。
使用 Winbind 將 VM 加入受控網域
若要使用 winbind 和 YaST 的 Windows 網域成員資格 模組加入受控網域,請完成下列步驟:
在 YaST 中,選取 [ 網路服務 > Windows 網域成員資格 ]。
在 Windows 網域成員資格 畫面中 ,輸入要加入 網域或工作組 的網域。 輸入受控功能變數名稱,例如 aaddscontoso.com 。
若要使用 SMB 來源進行 Linux 驗證,請檢查 [使用 SMB 資訊進行 Linux 驗證 ] 選項 。
若要為 VM 上的受控網域使用者自動建立本機主目錄,請核取 [ 在登入 時建立主目錄] 選項。
檢查離線驗證 的選項 ,讓您的網域使用者即使暫時無法使用受控網域也能夠登入。
如果您想要變更 Samba 使用者和群組的 UID 和 GID 範圍,請選取 [ 專家設定 ]。
選取 [NTP 組態],為您的受控網域設定 網路時間通訊協定 (NTP ) 時間同步處理。 輸入受控網域的 IP 位址。 這些 IP 位址會顯示在 受控網域的 Microsoft Entra 系統管理中心的 [屬性 ] 視窗中,例如 10.0.2.4 和 10.0.2.5 。
選取 [ 確定 ],並在出現提示時確認網域加入。
為受控網域中的系統管理員提供密碼,然後選取 [ 確定 ]。
加入受控網域之後,您可以使用桌面或主控台的顯示管理員,從工作站登入它。
從 YaST 命令列介面使用 Winbind 將 VM 加入受控網域
若要使用 winbind 和 YaST 命令列介面 加入受控網域:
加入網域:
sudo yast samba-client joindomain domain=aaddscontoso.com user=<admin> password=<admin password> machine=<(optional) machine account>
使用來自終端機的 Winbind 將 VM 加入受控網域
若要使用 winbind 和 samba net
命令 加入受控網域:
安裝 kerberos 用戶端和 samba-winbind:
sudo zypper in krb5-client samba-winbind
編輯組態檔:
/etc/samba/smb.conf
[global] workgroup = AADDSCONTOSO usershare allow guests = NO #disallow guests from sharing idmap config * : backend = tdb idmap config * : range = 1000000-1999999 idmap config AADDSCONTOSO : backend = rid idmap config AADDSCONTOSO : range = 5000000-5999999 kerberos method = secrets and keytab realm = AADDSCONTOSO.COM security = ADS template homedir = /home/%D/%U template shell = /bin/bash winbind offline logon = yes winbind refresh tickets = yes
/etc/krb5.conf
[libdefaults] default_realm = AADDSCONTOSO.COM clockskew = 300 [realms] AADDSCONTOSO.COM = { kdc = PDC.AADDSCONTOSO.COM default_domain = AADDSCONTOSO.COM admin_server = PDC.AADDSCONTOSO.COM } [domain_realm] .aaddscontoso.com = AADDSCONTOSO.COM [appdefaults] pam = { ticket_lifetime = 1d renew_lifetime = 1d forwardable = true proxiable = false minimum_uid = 1 }
/etc/security/pam_winbind.conf
[global] cached_login = yes krb5_auth = yes krb5_ccache_type = FILE warn_pwd_expire = 14
/etc/nsswitch.conf
passwd: compat winbind group: compat winbind
檢查 Microsoft Entra ID 和 Linux 中的日期和時間是否同步。您可以將 Microsoft Entra 伺服器新增至 NTP 服務,以執行此動作:
將下列這一行新增至
/etc/ntp.conf
:server aaddscontoso.com
重新開機 NTP 服務:
sudo systemctl restart ntpd
加入網域:
sudo net ads join -U Administrator%Mypassword
在 Linux 插入式驗證模組中啟用 winbind 作為登入來源 (PAM):
config pam-config --add --winbind
啟用自動建立主目錄,讓使用者可以登入:
sudo pam-config -a --mkhomedir
啟動並啟用 winbind 服務:
sudo systemctl enable winbind sudo systemctl start winbind
允許 SSH 的密碼驗證
根據預設,使用者只能使用 SSH 公開金鑰型驗證來登入 VM。 密碼式驗證失敗。 當您將 VM 加入受控網域時,這些網域帳戶必須使用密碼型驗證。 更新 SSH 組態以允許密碼型驗證,如下所示。
使用編輯器開啟sshd_conf 檔案:
sudo vi /etc/ssh/sshd_config
將 PasswordAuthentication 的行 更新為 yes :
PasswordAuthentication yes
完成後,請使用
:wq
編輯器的 命令儲存 並結束sshd_conf 檔案。若要套用變更,並讓使用者使用密碼登入,請重新開機 SSH 服務:
sudo systemctl restart sshd
授與 'AAD DC 管理員istrators' 群組 sudo 許可權
若要授與 AAD DC 管理員istrators 群組 SLE VM 上系統管理許可權的成員 ,請將專案新增至 /etc/sudoers 。 新增之後,AAD DC 管理員istrators 群組的成員 就可以在 sudo
SLE VM 上使用 命令。
開啟 sudoers 檔案以進行編輯:
sudo visudo
將下列專案新增至 /etc/sudoers 檔案的 結尾。 AAD DC 管理員istrators 群組包含名稱中的空白字元,因此請在組名中包含反斜線逸出字元。 新增您自己的功能變數名稱,例如 aaddscontoso.com :
# Add 'AAD DC Administrators' group members as admins. %AAD\ DC\ Administrators@aaddscontoso.com ALL=(ALL) NOPASSWD:ALL
完成後,請使用
:wq
編輯器的 命令儲存並結束編輯器。
使用網域帳戶登入 VM
若要確認 VM 已成功加入受控網域,請使用網域使用者帳戶啟動新的 SSH 連線。 確認已建立主目錄,並套用網域中的群組成員資格。
從主控台建立新的 SSH 連線。 使用
ssh -l
屬於受控網域的網域帳戶,例如contosoadmin@aaddscontoso.com
,然後輸入 VM 的位址,例如 linux-q2gr.aaddscontoso.com 。 如果您使用 Azure Cloud Shell,請使用 VM 的公用 IP 位址,而不是內部 DNS 名稱。sudo ssh -l contosoadmin@AADDSCONTOSO.com linux-q2gr.aaddscontoso.com
成功連線到 VM 時,請確認主目錄已正確初始化:
sudo pwd
您應該使用 符合使用者帳戶的 /home 目錄。
現在,請檢查群組成員資格是否已正確解析:
sudo id
您應該會看到來自受控網域的群組成員資格。
如果您以 AAD DC 管理員istrators 群組的成員身 分登入 VM,請檢查您是否可以正確使用
sudo
命令:sudo zypper update
下一步
如果您在將 VM 連線到受控網域或使用網域帳戶登入時遇到問題,請參閱 針對加入網域的問題 進行疑難排解。