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 に含まれるさまざまなサービスと設定可能なさまざまなモードを説明します。

3.1.1. Samba サービス

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

smbd

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

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

nmbd

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

最近の SMB ネットワークは、クライアントおよび IP アドレスの解決に 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 ドメインメンバーサーバーとして設定」 を参照してください。

関連情報

  • man ページの smb.conf(5) で、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