Skip to main content

2026 年 4 月 14 日

整合 Ubuntu/Debian 虛擬機器與 AD 以進行智慧卡重新導向

若要在 Ubuntu/Debian 桌面平台上支援智慧卡重新導向,請使用 Samba 和 Winbind 解決方案整合基礎虛擬機器 (VM) 與 Active Directory (AD) 網域。

請使用下列程序來整合 Ubuntu/Debian 虛擬機器與 AD 網域,以支援智慧卡重新導向。

此程序中的某些範例使用預留位置值來代表您網路組態中的實體,例如 AD 網域的 DNS 名稱。請將預留位置值取代為您的組態特有的資訊,如下表所說明。

預留位置值說明
dns_IP_ADDRESSDNS 名稱伺服器的 IP 位址
mydomain.comAD 網域的 DNS 名稱
MYDOMAIN.COMAD 網域的 DNS 名稱 (全部使用大寫字母)
MYDOMAIN包含 Samba 伺服器的工作群組或 NT 網域的 DNS 名稱 (全部使用大寫字母)
ads-hostnameAD 伺服器的主機名稱
ads-hostname.mydomain.comAD 伺服器的完整網域名稱 (FQDN)
mytimeserver.mycompany.comNTP 時間伺服器的 DNS 名稱
AdminUser虛擬機器管理員的使用者名稱

程序

  1. 在 Ubuntu/Debian 虛擬機器上,透過編輯 /etc/hostname 組態檔來定義該虛擬機器的主機名稱。

  2. 設定 DNS。

    1. 將 DNS 伺服器名稱和 IP 位址新增至 /etc/hosts 組態檔。

    2. 將您的 DNS 名稱伺服器 IP 位址與 AD 網域的 DNS 名稱新增至 /etc/network/interfaces 組態檔,如下列範例所示。

      dns-nameservers dns_IP_ADDRESS
      dns-search mydomain.com
      
  3. 安裝 resolvconfig 套件。

    1. 執行安裝命令。

      sudo apt-get install -y resolvconf
      

      允許系統安裝套件並重新開機。

    2. 執行下列命令,在 /etc/resolv.conf 檔案中驗證您的 DNS 組態。

      sudo cat /etc/resolv.conf
      

      確認命令傳回的輸出與下列範例類似。

      nameserver dns_IP_ADDRESS
      search mydomain.com
      
  4. 設定網路時間同步。

    1. 安裝 ntpdate 套件。

      sudo apt-get install -y ntpdate
      
    2. 將 NTP 伺服器資訊新增至 /etc/systemd/timesyncd.conf 組態檔,如下列範例所示。

      [Time]
      NTP=mytimeserver.mycompany.com
      
  5. 重新啟動 NTP 服務。

    sudo service ntpdate restart
    
  6. 安裝所需的 AD 加入套件。

    1. 執行安裝命令。

      sudo apt-get install -y samba krb5-config krb5-user winbind libpam-winbind
          libnss-winbind
      
    2. 在安裝提示要求輸入預設 Kerberos 領域時,請輸入您的 AD 網域 DNS 名稱並使用大寫字母 (例如:MYDOMAIN.COM)。然後,選取確定

  7. 編輯 /etc/krb5.conf 組態檔,如下列範例所示。

    [libdefaults]
          dns_lookup_realm = false
          ticket_lifetime = 24h
          renew_lifetime = 7d
          forwardable = true
          rdns = false
          default_realm = MYDOMAIN.COM
          default_ccache_name = KEYRING:persistent:%{uid}
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname.mydomain.com
                admin_server = ads-hostname.mydomain.com
                default_domain = ads-hostname.mydomain.com
                pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
                pkinit_cert_match = <KU>digitalSignature
                pkinit_kdc_hostname = ads-hostname.mydomain.com
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
  8. 若要確認 Kerberos 憑證,請執行下列命令。

    sudo kinit Administrator@MYDOMAIN.COM
    
    sudo klist
    

    確認命令傳回的輸出與下列範例類似。

    Ticket cache: FILE:/tmp/krb5cc_0
    Default principal: Administrator@MYDOMAIN.COMValid starting        Expires                Service principal
    2019-05-27T17:12:03   2019-05-28T03:12:03    krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
            renew until 2019-05-28T17:12:03    
    
    
  9. 編輯 /etc/samba/smb.conf 組態檔,如下列範例所示。

    [global]
            workgroup = MYDOMAIN
            usershare allow guests = NO
            idmap gid = 10000-20000
            idmap uid = 10000-20000
            kerberos method = secrets and keytab
            realm = MYDOMAIN.COM
            security = ADS
            template homedir = /home/%D/%U
            template shell = /bin/bash
            winbind use default domain=true
            winbind offline logon = yes
            winbind refresh tickets = yes
    
  10. 加入 AD 網域,並檢查整合。

    1. 執行 AD 加入命令。

      sudo net ads join -U AdminUser@mydomain.com
      sudo systemctl stop samba-ad-dc
      sudo systemctl enable smbd nmbd winbind
      sudo systemctl restart smbd nmbd winbind
      
    2. 修改 /etc/nsswitch.conf 組態檔,如下列範例所示。

      passwd:    compat systemd winbind
      group:     compat systemd winbind
      shadow:    compat
      gshadow:   files
      
    3. 若要查看 AD 加入的結果,請執行下列命令,並確認命令傳回正確的輸出。

      sudo wbinfo -u
          
      sudo wbinfo -g
      
    4. 若要查看 Winbind 名稱服務切換,請執行下列命令,並確認命令傳回正確的輸出。

      sudo getent group|grep 'domain admins'
          
      sudo getent passwd|grep 'ads-hostname'
      
  11. 啟用所有 PAM 設定檔。

    pam-auth-update
    

    在 [PAM 組態] 畫面中,選取所有 PAM 設定檔,包括在登入時建立主目錄,然後選取確定

後續步驟

在 Ubuntu/Debian 虛擬機器上設定智慧卡重新導向

此頁面對您有幫助嗎?

針對本主題提供意見回饋

本主題對您有幫助嗎?

請勿填寫任何個人或機密資訊。

正在產生連結…