Red Hat Training

A Red Hat training course is available for RHEL 8

第3章 Samba をサーバーとして使用

Samba は、Red Hat Enterprise Linux にサーバーメッセージブロック (SMB) プロトコルを実装します。SMB プロトコルは、ファイル共有、共有プリンターなど、サーバーのリソースにアクセスするのに使用されます。また、Samba は、Microsoft Windows が使用する分散コンピューティング環境のリモートプロシージャコール (DCE RPC) のプロトコルを実装します。

Samba は以下のように実行できます。

  • Active Directory (AD) または NT4 ドメインメンバー
  • スタンドアロンサーバー
  • NT4 プライマリードメインコントローラー (PDC) またはバックアップドメインコントローラー (BDC)

    注記

    Red Hat は、NT4 ドメインに対応する Windows バージョンの既存のインストールでのみ、PDC モードおよび BDC モードをサポートします。Red Hat では、新しい Samba NT4 ドメインを設定しないことを推奨します。これは、Windows 7 および Windows Server 2008 R2 以降の Microsoft オペレーティングシステムが NT4 ドメインに対応していないためです。

    Red Hat は、Samba を AD ドメインコントローラー (DC) として実行することはサポートしていません。

インストールモードとは関係なく、必要に応じてディレクトリーやプリンターを共有できます。これにより、Samba がファイルサーバーおよびプリントサーバーとして機能できるようになります。

3.1. さまざまな Samba サービスおよびモードについて

samba パッケージは複数のサービスを提供します。環境と設定するシナリオに応じて、これらのサービスが 1 つ以上必要となり、Samba をさまざまなモードで設定します。

3.1.1. Samba サービス

Samba は以下のサービスを提供します。

smbd

このサービスは、SMB プロトコルを使用してファイル共有およびプリントサービスを提供します。また、サービスは、リソースのロックと、接続ユーザーの認証を担当します。ドメインメンバーを認証するには、smbdwinbindd が必要です。smb systemd サービスが起動し、smbd デーモンが停止します。

smbd サービスを使用するには、samba パッケージをインストールします。

nmbd

このサービスは、NetBIOS over IPv4 プロトコルを使用してホスト名および IP 解決を提供します。名前解決に加え、nmbd サービスで SMB ネットワークを参照して、ドメイン、作業グループ、ホスト、ファイル共有、およびプリンターを探すことができます。このため、サービスはこの情報をブロードキャストクライアントに直接報告するか、ローカルまたはマスターのブラウザーに転送します。nmb systemd サービスは、nmbd デーモンを起動し、停止します。

最近の SMB ネットワークは、クライアントおよび IP アドレスの解決に DNS を使用することに注意してください。Kerberos の場合は、稼働中の DNS 設定が必要です。

nmbd サービスを使用するには、samba パッケージをインストールします。

winbindd

このサービスは、ローカルシステムの AD または NT4 のドメインユーザーおよびグループを使用する Name Service Switch (NSS) のインターフェイスを提供します。これにより、たとえばドメインユーザーを、Samba サーバーにホストされるサービスや他のローカルサービスに認証できます。winbind systemd サービスは、winbindd デーモンを開始および停止します。

Samba をドメインメンバーとして設定する場合は、smbd サービスの前に winbindd を起動する必要があります。そうしないと、ドメインユーザーおよびグループはローカルシステムで使用できなくなります。

winbindd サービスを使用するには、samba-winbind パッケージをインストールします。

重要

Red Hat は、ドメインユーザーおよびグループをローカルシステムに提供するために、Samba を、winbindd サービスを使用するサーバーとして実行することのみをサポートします。Windows アクセス制御リスト (ACL) のサポート、NT LAN Manager (NTLM) のフォールバックがないなど、特定の制限により、SSSD に対応しません。

3.1.2. Samba セキュリティーサービス

/etc/samba/smb.conf ファイルの [global] セクションの security パラメーターは、Samba がサービスに接続しているユーザーを認証する方法を管理します。Samba をインストールするモードに応じて、パラメーターは異なる値に設定する必要があります。

AD ドメインメンバーに、security = ads を設定する。

このモードでは、Samba は Kerberos を使用して AD ユーザーを認証します。

Samba をドメインメンバーとして設定する方法の詳細については、Samba を AD ドメインメンバーサーバーとして設定 を参照してください。

スタンドアロンサーバーで、security = user を設定する。

このモードでは、Samba がローカルデータベースを使用して接続ユーザーを認証します。

Samba をスタンドアロンサーバーとしてセットアップする方法の詳細については、スタンドアロンサーバーとしての Samba の設定 を参照してください。

NT4 PDC または BDC に security = user を設定する。
Samba は、このモードでは、ユーザーをローカルまたは LDAP データベースに認証します。
NT4 ドメインメンバーで、security = domain を設定する。

Samba は、このモードでは、NT4 PDC または BDC にユーザーを接続する認証を行います。このモードは、AD ドメインメンバーには使用できません。

Samba をドメインメンバーとして設定する方法の詳細については、Samba を AD ドメインメンバーサーバーとして設定 を参照してください。

関連情報

  • smb.conf(5) man ページの security パラメーター

3.1.3. Samba サービスおよび Samba クライアントユーティリティーが設定を読み込み、再読み込みするシナリオ

以下は、Samba サービスおよびユーティリティーによる設定の読み込み、再読み込み時について説明します。

  • Samba サービスは、設定を再読み込みする時:

    • 3 分ごとに自動更新
    • 手動要求の場合に smbcontrol all reload-config コマンドを実行するとします。
  • Samba クライアントユーティリティーは、起動時にのみ設定を読み取ります。

security などの特定のパラメーターの適用には、smb サービスの再起動が必要です。再読み込みだけでは十分ではないことに注意してください。

関連情報

  • smb.conf(5) man ページの How configuration changes are apply セクション
  • smbd(8)nmbd(8)、および winbindd(8) man ページ

3.1.4. 安全な方法での Samba 設定の編集

Samba サービスは、3 分ごとに設定を自動的に再読み込みします。testparm ユーティリティーでの設定の検証前にサービスが変更を再読み込みしないように、安全な方法で Samba 設定を編集できます。

前提条件

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

手順

  1. /etc/samba/smb.conf ファイルのコピーを作成します。

    # cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
  2. コピーして作成したファイルを編集し、必要な変更を加えます。
  3. /etc/samba/samba.conf.copy ファイルの設定を確認します。

    # testparm -s /etc/samba/samba.conf.copy

    testparm がエラーを報告した場合は、修正してもう一度コマンドを実行します。

  4. /etc/samba/smb.conf ファイルを新しい設定に上書きします。

    # mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
  5. Samba サービスが設定を自動的に再読み込みするか、手動で設定を再読み込みするまで待ちます。

    # smbcontrol all reload-config