第1章 Samba をサーバーとして使用
Samba は、Red Hat Enterprise Linux にサーバーメッセージブロック (SMB) プロトコルを実装します。SMB プロトコルは、ファイル共有、共有プリンターなど、サーバーのリソースにアクセスするのに使用されます。また、Samba は、Microsoft Windows が使用する分散コンピューティング環境のリモートプロシージャコール (DCE RPC) のプロトコルを実装します。
詳細は、以下を参照してください。
-
システム上の
smb.conf(5)man ページ -
/usr/share/docs/samba-version/ディレクトリーには、Samba プロジェクトが提供する一般的なドキュメント、サンプルスクリプト、および LDAP スキーマファイルが含まれています。
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 がファイルサーバーおよびプリントサーバーとして機能できるようになります。
1.1. さまざまな Samba サービスおよびモードについて リンクのコピーリンクがクリップボードにコピーされました!
samba パッケージは複数のサービスを提供します。環境と設定するシナリオに応じて、これらのサービスが 1 つ以上必要となり、Samba をさまざまなモードで設定します。
1.1.1. Samba サービス リンクのコピーリンクがクリップボードにコピーされました!
Linux の Samba サービスには、smbd、nmbd、winbindd、samba-bgqd などがあります。ファイルとプリンターの共有、名前解決、ドメイン統合、プリンター管理における、これらのサービスの役割を理解しておいてください。
Samba は以下のサービスを提供します。
smbdこのサービスは、SMB プロトコルを使用してファイル共有およびプリントサービスを提供します。また、サービスは、リソースのロックと、接続ユーザーの認証を担当します。ドメインメンバーを認証するには、
smbdにwinbinddが必要です。smbsystemdサービスが起動し、smbdデーモンが停止します。smbdサービスを使用するには、sambaパッケージをインストールします。nmbdこのサービスは、NetBIOS over IPv4 プロトコルを使用してホスト名および IP 解決を提供します。名前解決に加え、
nmbdサービスで SMB ネットワークを参照して、ドメイン、作業グループ、ホスト、ファイル共有、およびプリンターを探すことができます。このため、サービスはこの情報をブロードキャストクライアントに直接報告するか、ローカルまたはマスターのブラウザーに転送します。nmbsystemdサービスは、nmbdデーモンを起動し、停止します。最近の SMB ネットワークは、クライアントおよび IP アドレスの解決に DNS を使用することに注意してください。Kerberos の場合は、稼働中の DNS 設定が必要です。
nmbdサービスを使用するには、sambaパッケージをインストールします。winbinddこのサービスは、ローカルシステムの AD または NT4 のドメインユーザーおよびグループを使用する Name Service Switch (NSS) のインターフェイスを提供します。これにより、たとえばドメインユーザーを、Samba サーバーにホストされるサービスや他のローカルサービスに認証できます。
winbindsystemdサービスは、winbinddデーモンを開始および停止します。Samba をドメインメンバーとして設定する場合は、
smbdサービスの前にwinbinddを起動する必要があります。そうしないと、ドメインユーザーおよびグループはローカルシステムで使用できなくなります。winbinddサービスを使用するには、samba-winbindパッケージをインストールします。重要Red Hat は、ドメインユーザーおよびグループをローカルシステムに提供するために、Samba を、
winbinddサービスを使用するサーバーとして実行することのみをサポートします。Windows アクセス制御リスト (ACL) のサポート、NT LAN Manager (NTLM) のフォールバックがないなど、特定の制限により、SSSD に対応しません。samba-bgqd-
Samba バックグラウンドキューデーモンは、CUPS からのプリンター費用してプリンターリストを定期的に更新します。複数のプリンターがあるプリントサーバーの場合は、このデーモンを実行します。これは
samba-bgqdsystemdサービスによって管理されます。実行に失敗した場合は、rpcd_spoolssが要求に応じて起動します。
1.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 ドメインメンバーサーバーとして設定する を参照してください。
1.1.3. Samba サービスと Samba クライアントユーティリティーが設定をロードまたはリロードするタイミング リンクのコピーリンクがクリップボードにコピーされました!
Samba のサービスとクライアントユーティリティーが設定ファイルがロードまたはリロードするタイミング、自動および手動リロードのトリガー、設定変更を適用するためにサービス全体の再起動が必要となる特定の設定を説明します。
以下では、Samba のサービスとユーティリティーが設定をロードおよびリロードするタイミングを説明します。
Samba サービスは、以下のとおりサービスをリロードします。
- 3 分ごとに自動的に
-
たとえば
smbcontrol all reload-configコマンドを実行した場合など、手動の要求に応じて
- Samba クライアントユーティリティーは、起動時にのみ設定を読み取ります。
security などの特定のパラメーターの適用には、smb サービスの再起動が必要です。リロードだけでは十分ではないことに注意してください。詳細は、以下を参照してください。
-
システムの
smb.conf(5)man ページのHow configuration changes are appliedセクション -
システム上の
smbd(8)、nmbd(8)、winbindd(8)の man ページ
1.1.4. 安全な方法での Samba 設定の編集 リンクのコピーリンクがクリップボードにコピーされました!
Samba サービスは、3 分ごとに設定を自動的に再読み込みします。詳細は、Samba サービスと Samba クライアントユーティリティーが設定をロードまたはリロードするタイミング を参照してください。
testparm ユーティリティーでの設定の検証前にサービスが変更を再読み込みしないように、安全な方法で Samba 設定を編集できます。
前提条件
- Samba がインストールされている。
手順
/etc/samba/smb.confファイルのコピーを作成します。cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
# cp /etc/samba/smb.conf /etc/samba/samba.conf.copyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - コピーして作成したファイルを編集し、必要な変更を加えます。
/etc/samba/samba.conf.copyファイルの設定を確認します。testparm -s /etc/samba/samba.conf.copy
# testparm -s /etc/samba/samba.conf.copyCopy to Clipboard Copied! Toggle word wrap Toggle overflow testparmがエラーを報告した場合は、修正してもう一度コマンドを実行します。/etc/samba/smb.confファイルを新しい設定にオーバーライドします。mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
# mv /etc/samba/samba.conf.copy /etc/samba/smb.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow Samba サービスが設定を自動的に再読み込みするか、手動で設定を再読み込みするまで待ちます。
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow