將 SUSE Linux Enterprise 虛擬機器加入 Microsoft Entra Domain Services 受控網域

若要讓使用者使用單一認證集合登入 Azure 中的虛擬機器(VM),您可以將 VM 加入 Microsoft Entra Domain Services 受控網域。 當您將 VM 加入 Domain Services 受控網域時,網域中的使用者帳戶和認證可用來登入和管理伺服器。 也會套用受控網域中的群組成員資格,讓您控制 VM 上檔案或服務的存取權。

本文說明如何將 SUSE Linux Enterprise (SLE) VM 加入受控網域。

必要條件

若要完成本教學課程,您需要下列資源和許可權:

建立並聯機到 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 的使用者登入管理 模組來加入受控網域,請完成下列步驟:

  1. 安裝使用者登入管理 YaST 模組:

    sudo zypper install yast2-auth-client
    
  2. 開啟 YaST。

  3. 若要稍後成功使用 DNS 自動探索,請將受控網域 IP 位址 ( Active Directory 伺服器 ) 設定為用戶端的名稱伺服器。

    在 YaST 中,選取 [系統 > 網路設定 ]。

  4. 選取 [ 主機名稱/DNS] 索引標籤,然後在 [名稱伺服器 1 ] 文字方塊中 輸入受控網域的 IP 位址。 這些 IP 位址會顯示在 受控網域的 Microsoft Entra 系統管理中心的 [屬性 ] 視窗中,例如 10.0.2.4 10.0.2.5

    新增您自己的受控網域 IP 位址,然後選取 [ 確定 ]。

  5. 從 YaST 主視窗中,選擇 [ 網路服務 > 使用者登入管理 ]。

    模組隨即開啟,其中概觀顯示電腦的不同網路屬性,以及目前使用的驗證方法,如下列範例螢幕擷取畫面所示:

    Example screenshot of the User Login Management window in YaST

    若要開始編輯,請選取 [ 變更設定 ]。

若要將 VM 加入受控網域,請完成下列步驟:

  1. 在對話方塊中,選取 [ 新增網域 ]。

  2. 指定正確的 功能變數名稱 ,例如 aaddscontoso.com ,然後指定要用於身分識別資料和驗證的服務。 針對這兩者選取 [Microsoft Active Directory ]。

    請確定已選取 [ 啟用網域 ] 的選項。

  3. 準備好時,請選取 [ 確定 ]。

  4. 接受下列對話方塊中的預設設定,然後選取 [ 確定 ]。

  5. VM 會視需要安裝其他軟體,然後檢查受控網域是否可用。

    如果一切正確,則會顯示下列範例對話方塊,指出 VM 已探索到受控網域,但您 尚未註冊

    Example screenshot of the Active Directory enrollment window in YaST

  6. 在對話方塊中,指定 屬於受控網域一部分之使用者的使用者名稱和密碼。 如有需要, 請將使用者帳戶新增至 Microsoft Entra ID 中的群組。

    若要確定已針對 Samba 啟用目前的網域,請啟用 覆寫 Samba 設定以使用此 AD

  7. 若要註冊,請選取 [ 確定 ]。

  8. 顯示訊息以確認您已成功註冊。 若要完成,請選取 [ 確定 ]。

在受控網域中註冊 VM 之後,請使用 [管理網域使用者登入 ] 設定用戶端,如下列範例螢幕擷取畫面所示:

Example screenshot of the Manage Domain User Logon window in YaST

  1. 若要允許使用受控網域所提供的資料登入,請核取 [允許網域使用者登入 ] 的 方塊。

  2. 或者,在 [啟用網域資料來源 ] 底下 ,視您的環境需要檢查其他資料來源。 這些選項包括哪些使用者可以使用 sudo 或哪些網路磁碟機機可供使用

  3. 若要允許受控網域中的使用者在 VM 上擁有主目錄,請核取 [建立主目錄 ] 的 方塊。

  4. 從提要列,選取 [服務選項 ] [ 名稱] 參數 ,然後 選取 [擴充選項 ]。 從該視窗中,選取 [fallback_homedir] 或 [ override_homedir ],然後選取 [ 新增 ]。

  5. 指定主目錄位置的值。 若要讓主目錄遵循 /home/USER_NAME 的格式 ,請使用 /home/%u 如需可能變數的詳細資訊,請參閱 sssd.conf man 頁面 ( man 5 sssd.conf ), 區段 override_homedir

  6. 選取 [確定]。

  7. 若要儲存變更,請選取 [確定]。 然後,請確定現在顯示的值正確。 若要離開對話方塊,請選取 [ 取消 ]。

  8. 如果您想要同時執行 SSSD 和 Winbind(例如,透過 SSSD 加入,但接著執行 Samba 檔案伺服器),Samba 選項 kerberos 方法 應該設定為 smb.conf 中的秘密和 keytab 。 SSSD 選項 ad_update_samba_machine_account_password 也應該在 sssd.conf 中設定為 true 。 這些選項可防止系統索引鍵表同步。

使用 Winbind 將 VM 加入受控網域

若要使用 winbind YaST 的 Windows 網域成員資格 模組加入受控網域,請完成下列步驟:

  1. 在 YaST 中,選取 [ 網路服務 > Windows 網域成員資格 ]。

  2. 在 Windows 網域成員資格 畫面中 ,輸入要加入 網域或工作組 的網域。 輸入受控功能變數名稱,例如 aaddscontoso.com

    Example screenshot of the Windows Domain Membership window in YaST

  3. 若要使用 SMB 來源進行 Linux 驗證,請檢查 [使用 SMB 資訊進行 Linux 驗證 ] 選項

  4. 若要為 VM 上的受控網域使用者自動建立本機主目錄,請核取 [ 在登入 時建立主目錄] 選項。

  5. 檢查離線驗證 的選項 ,讓您的網域使用者即使暫時無法使用受控網域也能夠登入。

  6. 如果您想要變更 Samba 使用者和群組的 UID 和 GID 範圍,請選取 [ 專家設定 ]。

  7. 選取 [NTP 組態],為您的受控網域設定 網路時間通訊協定 (NTP ) 時間同步處理。 輸入受控網域的 IP 位址。 這些 IP 位址會顯示在 受控網域的 Microsoft Entra 系統管理中心的 [屬性 ] 視窗中,例如 10.0.2.4 10.0.2.5

  8. 選取 [ 確定 ],並在出現提示時確認網域加入。

  9. 為受控網域中的系統管理員提供密碼,然後選取 [ 確定 ]。

    Example screenshot of the authentication dialog prompt when you join a SLE VM to the managed domain

加入受控網域之後,您可以使用桌面或主控台的顯示管理員,從工作站登入它。

從 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 命令 加入受控網域:

  1. 安裝 kerberos 用戶端和 samba-winbind:

    sudo zypper in krb5-client samba-winbind
    
  2. 編輯組態檔:

    • /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
      
  3. 檢查 Microsoft Entra ID 和 Linux 中的日期和時間是否同步。您可以將 Microsoft Entra 伺服器新增至 NTP 服務,以執行此動作:

    1. 將下列這一行新增至 /etc/ntp.conf

      server aaddscontoso.com
      
    2. 重新開機 NTP 服務:

      sudo systemctl restart ntpd
      
  4. 加入網域:

    sudo net ads join -U Administrator%Mypassword
    
  5. 在 Linux 插入式驗證模組中啟用 winbind 作為登入來源 (PAM):

    config pam-config --add --winbind
    
  6. 啟用自動建立主目錄,讓使用者可以登入:

    sudo pam-config -a --mkhomedir
    
  7. 啟動並啟用 winbind 服務:

    sudo systemctl enable winbind
    sudo systemctl start winbind
    

允許 SSH 的密碼驗證

根據預設,使用者只能使用 SSH 公開金鑰型驗證來登入 VM。 密碼式驗證失敗。 當您將 VM 加入受控網域時,這些網域帳戶必須使用密碼型驗證。 更新 SSH 組態以允許密碼型驗證,如下所示。

  1. 使用編輯器開啟sshd_conf 檔案:

    sudo vi /etc/ssh/sshd_config
    
  2. 將 PasswordAuthentication 的行 更新為 yes

    PasswordAuthentication yes
    

    完成後,請使用 :wq 編輯器的 命令儲存 並結束sshd_conf 檔案。

  3. 若要套用變更,並讓使用者使用密碼登入,請重新開機 SSH 服務:

    sudo systemctl restart sshd
    

授與 'AAD DC 管理員istrators' 群組 sudo 許可權

若要授與 AAD DC 管理員istrators 群組 SLE VM 上系統管理許可權的成員 ,請將專案新增至 /etc/sudoers 。 新增之後,AAD DC 管理員istrators 群組的成員 就可以在 sudo SLE VM 上使用 命令。

  1. 開啟 sudoers 檔案以進行編輯:

    sudo visudo
    
  2. 將下列專案新增至 /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 連線。 確認已建立主目錄,並套用網域中的群組成員資格。

  1. 從主控台建立新的 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
    
  2. 成功連線到 VM 時,請確認主目錄已正確初始化:

    sudo pwd
    

    您應該使用 符合使用者帳戶的 /home 目錄。

  3. 現在,請檢查群組成員資格是否已正確解析:

    sudo id
    

    您應該會看到來自受控網域的群組成員資格。

  4. 如果您以 AAD DC 管理員istrators 群組的成員身 分登入 VM,請檢查您是否可以正確使用 sudo 命令:

    sudo zypper update
    

下一步

如果您在將 VM 連線到受控網域或使用網域帳戶登入時遇到問題,請參閱 針對加入網域的問題 進行疑難排解。