第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 プロトコルを使用してファイル共有およびプリントサービスを提供します。また、サービスは、リソースのロックと、接続ユーザーの認証を担当します。ドメインメンバーを認証するには、
smbd
にwinbindd
が必要です。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 ページのセキュリティー
パラメーター
3.1.3. Samba サービスおよび Samba クライアントユーティリティーが設定を読み込み、再読み込みするシナリオ
以下は、Samba サービスおよびユーティリティーによる設定の読み込み、再読み込み時を説明します。
Samba サービスは、設定を再読み込みする時:
- 3 分ごとに自動更新
-
手動要求の場合に
smbcontrol all reload-config
コマンドを実行するとします。
- Samba クライアントユーティリティーは、起動時にのみ設定を読み取ります。
security
などの特定のパラメーターの適用には、smb
サービスの再起動が必要です。再読み込みだけでは十分ではないことに注意してください。
関連情報
-
システムの
smb.conf (5)
man ページの設定変更の適用方法の
セクション -
システム上の
smbd (8)
、nmbd (8)
、winbindd (8) の
man ページ
3.1.4. 安全な方法での Samba 設定の編集
Samba サービスは、3 分ごとに設定を自動的に再読み込みします。testparm
ユーティリティーでの設定の検証前にサービスが変更を再読み込みしないように、安全な方法で Samba 設定を編集できます。
前提条件
- Samba がインストールされている。
手順
/etc/samba/smb.conf
ファイルのコピーを作成します。# cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
- コピーして作成したファイルを編集し、必要な変更を加えます。
/etc/samba/samba.conf.copy
ファイルの設定を確認します。# testparm -s /etc/samba/samba.conf.copy
testparm
がエラーを報告した場合は、修正してもう一度コマンドを実行します。/etc/samba/smb.conf
ファイルを新しい設定に上書きします。# mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
Samba サービスが設定を自動的に再読み込みするか、手動で設定を再読み込みするまで待ちます。
# smbcontrol all reload-config