1.5. Samba を AD ドメインメンバーサーバーとして設定


AD または NT4 のドメインを実行している場合は、Samba を使用して Red Hat Enterprise Linux サーバーをメンバーとしてドメインに追加し、以下を取得します。

  • その他のドメインメンバーのドメインリソースにアクセスする
  • sshd などのローカルサービスに対してドメインユーザーを認証する
  • サーバーにホストされているディレクトリーおよびプリンターを共有して、ファイルサーバーおよびプリントサーバーとして動作する

1.5.1. RHEL システムの AD ドメインへの参加

Samba Winbind は、Red Hat Enterprise Linux (RHEL) システムを Active Directory (AD) に接続するための System Security Services Daemon (SSSD) の代替手段です。realmd を使用して Samba Winbind を設定することで、RHEL システムを AD ドメインに参加させることができます。

手順

  1. AD で Kerberos 認証に非推奨の RC4 暗号化タイプが必要な場合は、RHEL でこの暗号のサポートを有効にします。

    # update-crypto-policies --set DEFAULT:AD-SUPPORT
    Copy to Clipboard Toggle word wrap
  2. 以下のパッケージをインストールします。

    # dnf install realmd oddjob-mkhomedir oddjob samba-winbind-clients \
           samba-winbind samba-common-tools samba-winbind-krb5-locator krb5-workstation
    Copy to Clipboard Toggle word wrap
  3. ドメインメンバーでディレクトリーまたはプリンターを共有するには、samba パッケージをインストールします。

    # dnf install samba
    Copy to Clipboard Toggle word wrap
  4. 既存の Samba 設定ファイル /etc/samba/smb.conf をバックアップします。

    # mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
    Copy to Clipboard Toggle word wrap
  5. ドメインに参加します。たとえば、ドメイン ad.example.com に参加するには、以下のコマンドを実行します。

    # realm join --membership-software=samba --client-software=winbind ad.example.com
    Copy to Clipboard Toggle word wrap

    上記のコマンドを使用すると、realm ユーティリティーが自動的に以下を実行します。

    • ad.example.com ドメインのメンバーシップに /etc/samba/smb.conf ファイルを作成します。
    • ユーザーおよびグループの検索用の winbind モジュールを、/etc/nsswitch.conf ファイルに追加します。
    • /etc/pam.d/ ディレクトリーの PAM (プラグ可能な認証モジュール) 設定ファイルを更新します。
    • winbind サービスを起動し、システムの起動時にサービスを起動できるようにします。
  6. オプション: /etc/samba/smb.conf ファイルで、別の ID マッピングバックエンドまたはカスタマイズした ID マッピング設定を指定します。

    詳細は、Samba ID マッピングの理解と設定 を参照してください。

  7. /etc/krb5.conf ファイルを編集し、以下のセクションを追加します。

    [plugins]
        localauth = {
            module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so
            enable_only = winbind
        }
    Copy to Clipboard Toggle word wrap
  8. winbind サービスが稼働していることを確認します。

    # systemctl status winbind
    ...
       Active: active (running) since Tue 2018-11-06 19:10:40 CET; 15s ago
    Copy to Clipboard Toggle word wrap
    重要

    Samba がドメインのユーザーおよびグループの情報をクエリーできるようにするには、smb を起動する前に winbind サービスを実行する必要があります。

  9. samba パッケージをインストールしてディレクトリーおよびプリンターを共有している場合は、smb サービスを有効化して開始します。

    # systemctl enable --now smb
    Copy to Clipboard Toggle word wrap

検証

  1. AD ドメインの AD 管理者アカウントなど、AD ユーザーの詳細を表示します。

    # getent passwd "AD\administrator"
    AD\administrator:*:10000:10000::/home/administrator@AD:/bin/bash
    Copy to Clipboard Toggle word wrap
  2. AD ドメイン内のドメインユーザーグループのメンバーをクエリーします。

    # getent group "AD\Domain Users"
        AD\domain users:x:10000:user1,user2
    Copy to Clipboard Toggle word wrap
  3. オプション: ファイルとディレクトリーの権限を設定するときに、ドメインのユーザーおよびグループを使用できることを確認します。たとえば、/srv/samba/example.txt ファイルの所有者を AD\administrator に設定し、グループを AD\Domain Users に設定するには、以下のコマンドを実行します。

    # chown "AD\administrator":"AD\Domain Users" /srv/samba/example.txt
    Copy to Clipboard Toggle word wrap
  4. Kerberos 認証が期待どおりに機能することを確認します。

    1. AD ドメインメンバーで、administrator@AD.EXAMPLE.COM プリンシパルのチケットを取得します。

      # kinit administrator@AD.EXAMPLE.COM
      Copy to Clipboard Toggle word wrap
    2. キャッシュされた Kerberos チケットを表示します。

      # klist
      Ticket cache: KCM:0
      Default principal: administrator@AD.EXAMPLE.COM
      
      Valid starting       Expires              Service principal
      01.11.2018 10:00:00  01.11.2018 20:00:00  krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM
              renew until 08.11.2018 05:00:00
      Copy to Clipboard Toggle word wrap
  5. 利用可能なドメインの表示:

    # wbinfo --all-domains
    BUILTIN
    SAMBA-SERVER
    AD
    Copy to Clipboard Toggle word wrap

1.5.2. MIT Kerberos 用のローカル承認プラグインの使用

winbind サービスは、ドメインメンバーに {AD} ユーザーを提供します。特定の状況では、管理者が、ドメインメンバーで実行している SSH サーバーなどのローカルサービスに対して、ドメインユーザーが認証を行えるようにします。Kerberos を使用してドメインユーザーを認証している場合は、winbind サービスを介して、winbind_krb5_localauth プラグインが Kerberos プリンシパルを {AD} アカウントに正しくマッピングできるようにします。

たとえば、{AD} ユーザーの sAMAccountName 属性を EXAMPLE に設定し、小文字のユーザー名でユーザーがログインしようとすると、Kerberos はユーザー名を大文字で返します。その結果、エントリーは認証の失敗に一致しません。

winbind_krb5_localauth プラグインを使用すると、アカウント名が正しくマッピングされます。これは GSSAPI 認証にのみ適用され、初期のチケット付与チケット (TGT) の取得には該当しません。

前提条件

  • Samba は {AD} のメンバーとして設定されています。
  • Red Hat Enterprise Linux は、{AD} に対するログイン試行を認証します。
  • winbind サービスが実行している。

手順

/etc/krb5.conf ファイルを編集し、以下のセクションを追加します。

[plugins]
localauth = {
     module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so
     enable_only = winbind
}
Copy to Clipboard Toggle word wrap

1.5.3. Samba クライアントで証明書の自動登録を有効にする

証明書の自動登録は、Active Directory (AD) 証明書サービスの機能です。この機能を使用することで、ユーザーが介入しなくてもユーザーとデバイスは証明書を登録できます。管理者は、手動で証明書を監視および更新することなく、ローカルサービスで AD 認証局 (CA) によって発行された証明書を使用できるため、中断を防ぐことができます。

AD が認証局 (CA) を提供し、RHEL ホストが AD のメンバーである場合は、RHEL ホストで証明書の自動登録を有効にできます。その後、Samba は AD からの自動登録グループポリシーを適用し、証明書を要求および管理するように certmonger サービスを設定します。

前提条件

  • Samba が AD のメンバーとして設定されている
  • AD 内の Windows サーバーに、次のサービスがインストールされた Active Directory 証明書サービス サーバーロールがある。

    • 認証局
    • 証明書登録
    • ポリシー Web サービス
  • インターネットインフォメーションサービス (ISS) は、HTTPS 経由で証明書の自動登録機能を提供するように設定されています。
  • ISS は AD CA が発行した証明書を使用します。
  • 証明書登録サービスは Kerberos 認証をサポートしています。
  • 証明書の自動登録用のグループポリシーオブジェクト (GPO) が AD で設定されます。

手順

  1. samba-gpupdate パッケージをインストールします。

    # dnf install samba-gpupdate
    Copy to Clipboard Toggle word wrap
  2. /etc/samba/smb.conf ファイルに次の設定を追加します。

    kerberos method = secrets and keytab
    sync machine password to keytab = "/etc/krb5.keytab:account_name:sync_spns:spn_prefixes=host:sync_kvno:machine_password", "/etc/samba/cepces.keytab:account_name:machine_password"
    apply group policies = yes
    Copy to Clipboard Toggle word wrap

    Samba 設定で指定される設定には、次の設定が含まれます。

    kerberos method = secrets and keytab
    最初に /var/lib/samba/private/secrets.tdb ファイルを使用して Kerberos チケットを検証し、次に /etc/krb5.keytab ファイルを使用するように Samba を設定します。
    sync machine password to keytab = <list_of_keytab_files_and_their_principals>
    Samba が管理するキータブファイルへのパスと、これらのファイル内の Kerberos プリンシパルを定義します。示された値を使用すると、Samba は /etc/krb5.keytab システムキータブを維持し、さらに、certmongercepces-submit 送信ヘルパーが CA への認証に使用する /etc/samba/cepces.keytab ファイルも維持します。
    apply group policies = yes
    一定間隔で gpupdate コマンドを実行するように winbind サービスを設定します。更新間隔は 90 分で、これに 0 - 30 分の間のランダムオフセットが加算されます。
  3. /etc/samba/cepces.keytab ファイルを作成します。

    # net ads keytab create
    Copy to Clipboard Toggle word wrap
  4. /etc/cepces/cepces.conf ファイルを編集し、次の変更を加えます。

    1. [global] セクションで、server 変数を、CA サービスを実行する Windows サーバーの完全修飾ドメイン名 (FQDN) にします。

      [global]
      server=win-server.ad.example.com
      Copy to Clipboard Toggle word wrap
    2. [kerberos] セクションで、keytab 変数を /etc/samba/cepces.keytab に設定します。

      [kerberos]
      keytab=/etc/samba/cepces.keytab
      Copy to Clipboard Toggle word wrap
  5. certmonger サービスを有効にして起動します。

    # systemctl enable --now certmonger
    Copy to Clipboard Toggle word wrap

    certmonger サービスは CA からの証明書を要求し、有効期限が切れる前に自動的に更新します。

  6. samba-gpupdate を手動で実行して、グループポリシーが AD からロードされていることを確認します。

    # samba-gpupdate
    Copy to Clipboard Toggle word wrap
  7. certmonger サービスは、キーと証明書を次のディレクトリーに保存します。

    • 秘密鍵: /var/lib/samba/private/certs/
    • 発行された証明書: /var/lib/samba/certs/

      これで、同じホスト上のサービスでキーと証明書の使用を開始できます。

  8. オプション: certmonger が管理する証明書を表示します。

    # getcert list
    Number of certificates and requests being tracked: 1.
    Request ID 'AD-ROOT-CA.Machine':
    	status: MONITORING
    	stuck: no
    	key pair storage: type=FILE,location='/var/lib/samba/private/certs/AD-ROOT-CA.Machine.key'
    	certificate: type=FILE,location='/var/lib/samba/certs/AD-ROOT-CA.Machine.crt'
    	CA: AD-ROOT-CA
    	issuer: CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
    	subject: CN=rhel9.ad.example.com
    	issued: 2025-03-25 14:22:07 CET
    	expires: 2026-03-25 14:22:07 CET
    	dns: rhel9.ad.example.com
    	key usage: digitalSignature,keyEncipherment
    	eku: id-kp-clientAuth,id-kp-serverAuth
    	certificate template/profile: Machine
    	profile: Machine
    	pre-save command:
    	post-save command:
    	track: yes
    	auto-renew: yes
    Copy to Clipboard Toggle word wrap

    デフォルトでは、Windows CA は Machine 証明書テンプレートのみを使用して証明書を発行します。Windows CA でこのホストに適用する追加のテンプレートを設定した場合、certmonger はこれらのテンプレートの証明書も要求し、getcert list 出力にはそれらのエントリーも含まれます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat