Skip to main content

2026 年 5 月 8 日

True SSO での Samba を使用した Ubuntu/Debian 仮想マシンのドメイン参加

また、Debian 長期サポート (LTS) チームによる Debian 10 のサポートは 2024 年 6 月 30 日にサポート終了になりました

古い Samba を使用している Ubuntu/Debian デスクトップで True SSO をサポートするには、Samba と Winbind ソリューションを使用して、ベース仮想マシン (VM) と Active Directory (AD) ドメインを統合します。

注:Ubuntu/Debian デスクトップでの SSSD を使用した True SSO の構成」の説明に従って、SSSD ドメイン参加ソリューションを使用して True SSO を構成することをお勧めします。

Samba と Winbind を使用して Ubuntu/Debian 仮想マシンを Active Directory ドメインと統合するには、次の手順を実行します。

説明の中で、仮想マシンのホスト名などのネットワーク構成のエンティティをプレースホルダーで表している部分があります。次の表を参考にして、これらのプレースホルダーの値をご使用の環境に合わせて変更してください。

プレースホルダーの値説明
dns_IP_ADDRESSDNS ネーム サーバの IP アドレス
mydomain.comActive Directory ドメインの DNS 名
MYDOMAIN.COMActive Directory ドメインの DNS 名。すべて大文字にします。
myhostUbuntu/Debian 仮想マシンのホスト名
MYDOMAINワークグループの DNS 名または Samba サーバが含まれている NT ドメインの DNS 名。すべて大文字にします。
ads-hostnameActive Directory サーバのホスト名
admin-userActive Directory ドメインの管理者のユーザー名

前提条件

以下を検証します。

  • Active Directory サーバが仮想マシンの DNS で解決できる。
  • 仮想マシンで NTP (Network Time Protocol) が設定されている。

手順

  1. Ubuntu/Debian 仮想マシンで sambawinbind パッケージをインストールします。

    sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind
    
  2. Kerberos 認証設定を構成します。

    1. システムに Kerberos 認証設定のウィンドウが表示されない場合は、次のコマンドを実行して表示します。

      sudo dpkg-reconfigure krb5-config
      
    2. [Default Kerberos version 5 realm] に、Active Directory ドメインの DNS 名をすべて大文字で入力します。

      たとえば、Active Directory ドメインの名前が mydomain.com の場合、MYDOMAIN.COM と入力します。

    3. [Kerberos servers for your realm] で、Active Directory サーバのホスト名を入力します(この手順の例では ads_hostname)。

    4. [Administrative server for your Kerberos realm] に、Active Directory ドメインのホスト名を再度入力します。

  3. PAM の設定を更新します。

    1. PAM の設定ページを開きます。

      pam-auth-update
      
    2. [Create Home Directory on Login] を選択して、[OK] を選択します。

  4. 次の例のように、/etc/nsswitch.conf 構成ファイルを編集します。

    passwd: compat winbind
    group: compat winbind
    shadow: compat
    gshadow: files
    
  5. 正しい DNS サーバが自動的に検出された場合は、この手順をスキップして次の手順に進みます。正しい DNS サーバの検出に失敗した場合は、この手順を行い、DNS サーバを手動で設定します。

    自動生成された resolv.conf ファイルが検索ドメインとして Active Directory ドメインを参照するように、システム接続で NetworkManager の設定を編集します。次のサブステップでは、Ubuntu 20.04 システムの例を示します。

    1. NetworkManager コントロール パネルを開き、システム接続の [IPv4 Settings] に移動します。方法として、[Automatic (DHCP) addresses only] を選択します。[DNS servers] テキスト ボックスで、DNS ネーム サーバの IP アドレスを入力します(この手順の例では dns_IP_ADDRESS です)。[Save] をクリックします。

    2. 次の例のように、/etc/dhcp/dhclient.conf ファイルを編集します。

      supersede domain-name "mydomain.com";
      prepend domain-name-servers dns_IP_ADDRESS;
      
    3. 次の例のように、/etc/systemd/resolved.conf ファイルを編集します。

      DNS=dns_IP_ADDRESS
      Domains="mydomain.com"
      

      **注:**新しいインスタント クローン仮想デスクトップを作成すると、新しい仮想ネットワーク アダプタが追加されます。クローン作成済みの仮想デスクトップにネットワーク アダプタを追加すると、仮想デスクトップ テンプレートによって、DNS サーバなどのネットワーク アダプタの設定がクリアされます。新しいネットワーク アダプタを追加するときに DNS サーバの設定を維持するには、仮想マシンの DNS サーバを指定する必要があります。

    4. DNS サーバを指定するには、次の例のように、/etc/resolv.conf 構成ファイルを編集します。警告が表示された場合は、警告を無視して変更を続行できます。

      nameserver dns_IP_ADDRESS
          
      search mydomain.com
      
    5. 仮想マシンを再起動して、再度ログインします。

  6. 次の例のように、/etc/hosts 構成ファイルを編集します。

    127.0.0.1     localhost
    127.0.1.1     myhost.mydomain.com myhost
    
  7. 次の例のように、/etc/samba/smb.conf 構成ファイルを編集します。

    [global]
    security = ads
    realm = MYDOMAIN.COM
    workgroup = MYDOMAIN
    idmap config * : backend = tdb
    idmap config * : range = 10000-20000
    winbind enum users = yes
    winbind enum groups = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    winbind use default domain = yes
    restrict anonymous = 2
    kerberos method = secrets and keytab
    winbind refresh tickets = true
    
  8. smbd サービスを再起動します。

    sudo systemctl restart smbd.service
    
  9. 次の例のように、/etc/krb5.conf 構成ファイルの内容を編集します。

    [libdefaults]
          default_realm = MYDOMAIN.COM
          dns_lookup_realm = true
          dns_lookup_kdc = true
    
    [realms]
          MYDOMAIN.COM = {
                kdc = ads-hostname
                admin_server = ads-hostname 
          }
    
    [domain_realm]
          .mydomain.com = MYDOMAIN.COM
          mydomain.com = MYDOMAIN.COM
    
    
  10. Ubuntu/Debian 仮想マシンを Active Directory ドメインに参加させます。

    1. Kerberos チケットを開始します。

       sudo kinit admin-user
      

      プロンプトが表示されたら、管理者パスワードを入力します。

    2. チケットが正常に作成されたことを確認します。

      sudo klist
      

      このコマンドは、チケットに関する情報(有効期間の開始時間や有効期限)を返します。

    3. Kerberos キータブ ファイルを作成します。

      sudo net ads keytab create -U admin-user
      
    4. Active Directory ドメインに参加します。

      sudo net ads join -U admin-user
      
  11. Winbind サービスを再起動して確認します。

    1. Winbind サービスを再起動します。

      sudo systemctl restart winbind.service 
      
    2. Winbind サービスを確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。

      • sudo wbinfo -u
      • sudo wbinfo -g
      • sudo getent passwd
      • sudo getent group
  12. 仮想マシンを再起動して、再度ログインします。

次のステップ

Ubuntu/Debian デスクトップでの Samba を使用した True SSO の構成

このページは役に立ちましたか?

このトピックについてフィードバックを送信

このトピックは役に立ちましたか?

個人情報や機密情報は入力しないでください。

リンクを生成しています…