2.6. IdM ドメインメンバーでの Samba の設定

本セクションでは、Red Hat Identity Management (IdM) ドメインに参加しているホストで Samba を設定する方法を説明します。IdM のユーザー、および可能であれば、信頼された Active Directory (AD) ドメインのユーザーは、Samba が提供する共有およびプリンターサービスにアクセスできます。

重要

IdM ドメインメンバーでの Samba の使用は、サポート対象外のテクノロジープレビュー機能です。

前提条件

  • ホストは、クライアントとして IdM ドメインに参加している。
  • IdM サーバーとクライアントの両方が RHEL 8.1 以降で実行されている必要がある。

2.6.1. Samba をドメインメンバーにインストールするための IdM ドメインの準備

AD との信頼を確立し、IdM クライアントに Samba を設定する場合は、IdM サーバーの ipa-adtrust-install ユーティリティーを使用して IdM ドメインを準備する必要があります。ただし、両方の状況が適用される場合でも、ipa-adtrust-install は IdM マスターで 1 回のみ実行する必要があります。

前提条件

  • PCP がインストールされている。

手順

  1. 必要なパッケージをインストールします。

    [root@ipaserver ~]# yum install ipa-server ipa-server-trust-ad samba-client
  2. IdM 管理ユーザーとして認証します。

    [root@ipaserver ~]# kinit admin
  3. ipa-adtrust-install ユーティリティーを実行します。

    [root@ipaserver ~]# ipa-adtrust-install

    統合 DNS サーバーとともに IdM がインストールされていると、DNS サービスレコードが自動的に作成されます。

    IdM が統合 DNS サーバーなしでインストールされると、ipa-adtrust-install は、続行する前に DNS に手動で追加する必要があるサービスレコードのリストを出力します。

  4. スクリプトにより、/etc/samba/smb.conf がすでに存在し、書き換えられることが求められます。

    WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing Samba configuration.
    
    Do you wish to continue? [no]: yes
  5. このスクリプトは、従来の Linux クライアントが信頼できるユーザーと連携できるようにする互換性プラグインである slapi-nis プラグインを設定するように求めるプロンプトを表示します。

    Do you want to enable support for trusted domains in Schema Compatibility plugin?
    This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users.
    
    Enable trusted domains support in slapi-nis? [no]: yes
  6. プロンプトが表示されたら、IdM ドメインの NetBIOS 名を入力するか、Enter を押して提案された名前を使用します。

    Trust is configured but no NetBIOS domain name found, setting it now.
    Enter the NetBIOS name for the IPA domain.
    Only up to 15 uppercase ASCII letters, digits and dashes are allowed.
    Example: EXAMPLE.
    
    NetBIOS domain name [IDM]:
  7. SID 生成タスクを実行して、既存ユーザーに SID を作成するように求められます。

    Do you want to run the ipa-sidgen task? [no]: yes

    ディレクトリーを初めてインストールする際に、少なくとも 1 人のユーザー (IdM 管理者) が存在します。これはリソースを集中的に使用するタスクであるため、ユーザー数が多い場合は別のタイミングで実行できます。

  8. ipa サービスを再起動します。

    [root@ipaserver ~]# systemctl restart ipa
  9. smbclient ユーティリティーを使用して、Samba が IdM からの Kerberos 認証に応答することを確認します。

    [root@ipaserver ~]# smbclient -L server.idm.example.com -k
    lp_load_ex: changing to config backend registry
        Sharename       Type      Comment
        ---------       ----      -------
        IPC$            IPC       IPC Service (Samba 4.10.4)
    ...

2.6.2. GPO を使用した Active Directory で AES 暗号化タイプの有効化

本セクションでは、グループポリシーオブジェクト (GPO) を使用して、Active Directory (AD) で AES 暗号化タイプを有効にする方法を説明します。IdM クライアントで Samba サーバーを実行するなど、特定の Identity Management (IdM) 機能には、この暗号化タイプが必要です。

RHEL 8 は、弱い DES および RC4 の暗号化タイプに対応していないことに注意してください。

前提条件

  • グループポリシーを編集できるユーザーとして AD にログインしている。
  • Group Policy Management Console がコンピューターにインストールされている。

手順

  1. Group Policy Management Console を開きます。
  2. デフォルトドメインポリシー を右クリックして、編集 を選択します。Group Policy Management Editor を閉じます。
  3. コンピューターの設定ポリシーWindows の設定セキュリティの設定ローカルポリシーセキュリティーオプション に移動します。
  4. ネットワーク セキュリティ: Kerberos で許可する暗号化の種類を構成する をダブルクリックします。
  5. AES256_HMAC_SHA1 を選択し、必要に応じて、将来の暗号化タイプ を選択します。
  6. OK をクリックします。
  7. Group Policy Management Editor を閉じます。
  8. 既定のドメインコントローラーポリシー に対して手順を繰り返します。
  9. Windows ドメインコントローラー (DC) がグループポリシーを自動的に適用するまで待ちます。または、GPO を DC に手動で適用するには、管理者権限を持つアカウントを使用して次のコマンドを入力します。

    C:\> gpupdate /force /target:computer

2.6.3. IdM クライアントでの Samba サーバーのインストールおよび設定

本セクションでは、IdM ドメインに登録されたクライアントに Samba をインストールおよび設定する方法を説明します。

前提条件

手順

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

    [root@idm_client]# yum install ipa-client-samba
  2. ipa-client-samba ユーティリティーを使用して、クライアントを準備し、初期 Samba 構成を作成します。

    [root@idm_client]# ipa-client-samba
    Searching for IPA server...
    IPA server: DNS discovery
    Chosen IPA master: idm_server.idm.example.com
    SMB principal to be created: cifs/idm_client.idm.example.com@IDM.EXAMPLE.COM
    NetBIOS name to be used: IDM_CLIENT
    Discovered domains to use:
    
     Domain name: idm.example.com
    NetBIOS name: IDM
             SID: S-1-5-21-525930803-952335037-206501584
        ID range: 212000000 - 212199999
    
     Domain name: ad.example.com
    NetBIOS name: AD
             SID: None
        ID range: 1918400000 - 1918599999
    
    Continue to configure the system with these values? [no]: yes
    Samba domain member is configured. Please check configuration at /etc/samba/smb.conf and start smb and winbind services
  3. デフォルトでは、ipa-client-samba は、ユーザーが接続したときにユーザーのホームディレクトリーを動的に共有する /etc/samba.smb.conf ファイルに [homes] セクションが自動的に追加されます。ユーザーがこのサーバーにホームディレクトリーがない場合、または共有したくない場合は、/etc/samba.smb.conf から次の行を削除します。

    [homes]
        read only = no
  4. ディレクトリーとプリンターを共有します。詳細は、次を参照してください。

  5. ローカルファイアウォールで Samba クライアントに必要なポートを開きます。

    [root@idm_client]# firewall-cmd --permanent --add-service=samba-client
    [root@idm_client]# firewall-cmd --reload
  6. smb サービスおよび winbind サービスを有効にして開始します。

    [root@idm_client]# systemctl enable --now smb winbind

検証手順

samba-client パッケージがインストールされている別の IdM ドメインメンバーで次の検証手順を実行します。

  1. Kerberos チケット保証チケットの認証および取得

    $ kinit example_user
  2. Kerberos 認証を使用して、Samba サーバー上の共有を一覧表示します。

    $ smbclient -L idm_client.idm.example.com -k
    lp_load_ex: changing to config backend registry
    
        Sharename       Type      Comment
        ---------       ----      -------
        example         Disk
        IPC$            IPC       IPC Service (Samba 4.10.4)
    ...

関連情報

  • 設定中に ipa-client-samba が実行する手順の詳細は、man ページ ipa-client-samba(1) を参照してください。

2.6.4. IdM が新しいドメインを信頼する場合は、IDマッピング構成を手動で追加

Samba では、ユーザーがリソースにアクセスする各ドメインの ID マッピング設定が必要です。IdM クライアントで実行している既存の Samba サーバーでは、管理者が Active Directory (AD) ドメインに新しい信頼を追加した後、ID マッピング設定を手動で追加する必要があります。

前提条件

  • 「IdM クライアントでの Samba サーバーのインストールおよび設定」の説明に従って、IdM クライアントで Samba を構成している。その後、IdM に新しい信頼を追加している。
  • Kerberos の暗号化タイプ DES および RC4 は、信頼できる AD ドメインで無効にしている。セキュリティー上の理由から、RHEL 8 はこのような弱い暗号化タイプに対応していません。

手順

  1. ホストのキータブを使用して認証します。

    [root@idm_client]# kinit -k
  2. ipa idrange-find コマンドを使用して、新しいドメインのベース ID と ID 範囲のサイズの両方を表示します。たとえば、次のコマンドは ad.example.com ドメインの値を表示します。

    [root@idm_client]# ipa idrange-find --name="AD.EXAMPLE.COM_id_range" --raw
    ---------------
    1 range matched
    ---------------
      cn: AD.EXAMPLE.COM_id_range
      ipabaseid: 1918400000
      ipaidrangesize: 200000
      ipabaserid: 0
      ipanttrusteddomainsid: S-1-5-21-968346183-862388825-1738313271
      iparangetype: ipa-ad-trust
    ----------------------------
    Number of entries returned 1
    ----------------------------

    次の手順で、ipabaseid 属性および ipaidrangesize 属性の値が必要です。

  3. 使用可能な最高の ID を計算するには、次の式を使用します。

    maximum_range = ipabaseid + ipaidrangesize - 1

    前の手順の値を使用すると、ad.example.com ドメインで使用可能な最大 ID は 1918599999 (1918400000 + 200000 - 1) です。

  4. /etc/samba/smb.conf ファイルを編集し、ドメインの ID マッピング構成を [global] セクションに追加します。

    idmap config AD : range = 1918400000 - 1918599999
    idmap config AD : backend = sss

    ipabaseid 属性の値を最小値として指定し、前の手順で計算された値を範囲の最大値として指定します。

  5. smb サービスおよび winbind サービスを再起動します。

    [root@idm_client]# systemctl restart smb winbind

検証手順

  1. 新しいドメインからユーザーとして認証し、Kerberos チケット保証チケットを取得します。

    $ kinit example_user
  2. Kerberos 認証を使用して、Samba サーバー上の共有を一覧表示します。

    $ smbclient -L idm_client.idm.example.com -k
    lp_load_ex: changing to config backend registry
    
        Sharename       Type      Comment
        ---------       ----      -------
        example         Disk
        IPC$            IPC       IPC Service (Samba 4.10.4)
    ...

2.6.5. 関連情報