24.3 Sambaサーバの設定

SUSE® Linux Enterprise ServerのSambaサーバは、YaSTを使って、または手動で設定することができます。手動で設定を行えば細かい点まで調整できますが、YaSTのGUIほど便利ではありません。

24.3.1 YaSTによるSambaサーバの設定;

Sambaサーバを設定するには、YaSTを起動して、[ネットワークサービス] > [Sambaサーバ]の順に選択します。

初期Samba設定

モジュールを初めて起動すると、[Samba Installation]ダイアログが表示され、サーバの管理に関するいくつかの基本設定を行うように指示された後、最後にSambaのrootのパスワードを入力するように指示されます。次回起動時には、[Samba Server Configuration]ダイアログが表示されます。

[Sambaインストール]ダイアログは、次の2つのステップとオプションの詳細設定で構成されています。

ワークグループまたはドメイン名

Workgroup or Domain Name]から既存の名前を選択するか、新しい名前を入力し、[次へ]を入力します。

Sambaサーバのタイプ

次のステップでCD(PDC)として機能するサーバを指定し、[次へ]をクリックします。

起動

Sambaの起動方法を[起動時の動作]または[手動]から選択し、[OK]をクリックします。最後のポップアップボックスで[Samba root Password]を設定します。

この設定はすべて、後で[Sambaの設定]ダイアログで[起動][共有][識別情報]の各タブを使用して変更することができます。

Sambaの詳細設定

Sambaサーバモジュールの初回起動中、2つの初期化ステップ(初期Samba設定参照)の直後に[Sambaの設定]ダイアログが表示されます。ここでは、Sambaサーバの設定を編集することができます。

設定を編集し終わったら、[OK]をクリックして設定を保存します。

サーバを起動する

[Start Up]タブで、Sambaサーバの起動に関する設定を行います。システムのブート時に毎回サービスが起動されるようにするには、[During Boot]を選択します。手動起動を有効化するには、[Manually]を選択します。Sambaサーバの起動の詳細については、「セクション 24.2, Sambaの起動および停止」を参照してください。

このタブで、ファイアウォールのポートを開くこともできます。そのためには、[Open Port in Firewall]を選択します。複数のネットワークインタフェースがある場合は、[Firewall Details]をクリックし、インタフェースを選択した後、[OK]をクリックして、Sambaサービス用のネットワークインタフェースを選択します。

共有

[共有]タブで、有効にするSambaの共有を指定します。homesおよびプリンタなど、事前定義済みの共有がいくつかあります。[状態の変更]を使用して、[有効]と[無効]の間で切り替えます。新規の共有を追加するには[追加]、共有を削除するには[削除]をクリックします。

[ユーザにディレクトリの共有を許可する]を選択すると、[許可するグループ]中のグループメンバーに、各自のディレクトリを他のユーザと共有させることができます。たとえば、ローカルの範囲のusers、あるいはドメインの範囲ではDOMAIN\Usersを設定します。また、ユーザにはファイルシステムへのアクセスを許可するパーミッションがあることを確認してください。[最大共有数]で、共有の最大数を制限することができます。認証なしでユーザ共用へのアクセスを許可するには、[ゲストアクセスを許可]を有効にします。

ID

[識別情報]タブで、ホストが関連付けられているドメイン([基本設定])と、ネットワークで代替ホスト名を使用するかどうか([NetBIOS Hostname])を指定します。名前解決にMicrosoft Windows Internet Name Service(WINS)を使用することもできます。この場合、[Use WINS for Hostname Resolution]を有効にし、DHCP経由でWINSサーバを取得([Retrieve WINS server via DHCP]を使用)するかどうか決定します。エキスパートグローバル設定、またはLDAPなどのユーザ認証を設定するには、[詳細な設定]をクリックします。

他のドメインからのユーザ

他のドメインのユーザを、自分のドメインにアクセスさせるには、[Trusted Domains]タブで適切な設定を行います。新しいドメインを追加するには、[追加]をクリックします。選択したドメインを削除するには、[削除]をクリックします。

LDAPを使用する場合

[LDAP Settings]タブでは、認証に使用するLDAPサーバを設定することができます。LDAPサーバへの接続をテストするには、[Test Connection]をクリックします。エキスパートLDAP設定を設定するか、デフォルト値を使用する場合、[詳細な設定]をクリックします。

LDAP設定に関する詳細については、第5章 LDAP—A Directory Serviceを参照してください。

24.3.2 SWATを使用したWeb管理

Sambaサーバ管理の代替ツールは、SWAT(Samba Web管理ツール)です。このプログラムには、Sambaサーバを設定するための簡単なWebインタフェースがあります。SWATを使用するには、Webブラウザで、http://localhost:901を開き、rootユーザでログインします。特別なSamba rootアカウントがない場合、システムのrootアカウントを使用します。

メモ: SWATの有効化

Sambaサーバのインストール後、SWATは有効化されていません。SWATを有効化するには、YaSTで[ネットワークサービス] > [ネットワークサービス(xinetd)]の順に開き、ネットワークサービス設定を有効にし、テーブルから[swat]を選択し、[状態の変更(オンまたはオフ)]をクリックします。

24.3.3 サーバの手動設定

Sambaをサーバとして使用する場合は、sambaをインストールします。Sambaの主となる設定ファイルは、/etc/samba/smb.confです。このファイルは2つの論理部分に分けられます。[global]セクションには、中心的なグローバル設定が含まれます。[share]セクションには、個別のファイルとプリンタ共有が入っています。このアプローチにより、共有に関する詳細は[global]セクションで個別に、またはグローバルに設定することができ、設定ファイルの構造的透過性が高まっています。

グローバルセクション

[global]の次のパラメータは、ネットワークの設定に応じた必要条件を満たし、Windows環境で他のマシンがSMBを経由してこのSambaサーバにアクセスできるようにするために多少の調整が必要です。

workgroup = TUX-NET

この行は、Sambaサーバをワークグループに割り当てます。TUX-NETを実際のネットワーク環境にある適切なワークグループに置き換えてください。DNS名がネットワーク内の他のマシンに割り当てられていなければ、SambaサーバがDNS名の下に表示されます。DNS名が使用できない場合は、netbiosname=MYNAMEを使用してサーバ名を設定します。このパラメータに関する詳細については、smb.confのマニュアルページを参照してください。

os level = 2

このパラメータは、SambaサーバがワークグループのLMB(ローカルマスタブラウザ)になるかどうかのきっかけとなります。Sambaサーバの設定が誤っていた場合に、既存のWindowsネットワークに支障が出ないよう、小さな値を選択します。この重要なトピックについての詳細は、パッケージマニュアルのtextdocsサブディレクトリにあるBROWSING.txtBROWSING-Config.txtを参照してください。

ネットワーク内に他のSMBサーバ(たとえば、Windows 2000サーバ)が存在せず、ローカル環境に存在するすべてのシステムのリストをSambaサーバに保存する場合は、os levelの値を大きくします(たとえば、65)。これでSambaサーバが、ローカルネットワークのLMBとして選択されました。

この設定を変更するときは、それが既存のWindowsネットワーク環境にどう影響するかを慎重に検討する必要があります。はじめに、隔離されたネットワークで、または影響の少ない時間帯に、変更をテストしてください。

wins supportとwins server

アクティブなWINSサーバをもつ既存のWindowsネットワークにSambaサーバを参加させる場合は、wins serverオプションを有効にし、その値をWINSサーバのIPアドレスに設定します。

各Windowsマシンの接続先サブネットが異なり、互いを認識させなければならない場合は、WINSサーバをセットアップする必要があります。SambaサーバをWINSサーバなどにするには、wins support = Yesオプションを設定します。ネットワーク内でこの設定が有効なSambaサーバは1台だけであることを確認します。smb.confファイル内で、オプションwins serverwins supportは同時に有効にしないでください。

共有

次の例では、SMBクライアントがCD-ROMドライブとユーザディレクトリ(homes)を利用できるようにする方法を示します。

[cdrom]

CD-ROMドライブが誤って利用可能になるのを避けるため、これらの行はコメントマーク(この場合はセミコロン)で無効にします。最初の列のセミコロンを削除し、CD-ROMドライブをSambaと共有します。

例 24-1 CD-ROMの共有(無効)

;[cdrom]
;       comment = Linux CD-ROM
;       path = /media/cdrom
;       locking = No
[cdrom]およびコメント

[cdrom]エントリは、ネットワーク上のすべてのSMBクライアントが認識できる共有の名前です。さらにcommentを追加して、共有を説明することができます。

path = /media/cdrom

pathオプションで、/media/cdromディレクトリをエクスポートします。

デフォルトを非常に制約的に設定することによって、このシステム上に存在するユーザのみがこの種の共有を利用できるようになります。この共有をあらゆるユーザに開放する場合は、設定にguest ok = yesという行を追加します。この設定は、ネットワーク上の全ユーザに読み込み許可を与えます。このパラメータを使用する場合には、相当な注意を払うことをお勧めします。またこのパラメータを[global]セクションで使用する場合には、さらに注意が必要です。

[homes]

[homes]共有は、ここでは特に重要です。ユーザがLinuxファイルサーバの有効なアカウントとパスワードを持ち、独自のホームディレクトリを持っていればそれに接続することができます。

例 24-2 homes共有

[homes]
	comment = Home Directories
	valid users = %S
	browseable = No
	read only = No
	create mask = 0640
	directory mask = 0750
[homes]

SMBサーバに接続しているユーザの共有名を他の共有が使用していない限り、[homes]共有ディレクティブを使用して共有が動的に生成されます。生成される共有の名前は、ユーザ名になります。

valid users = %S

%S は、接続が正常に確立されるとすぐに、具体的な共有名に置き換えられます。[homes]共有の場合、これは常にユーザ名です。したがって、ユーザの共有に対するアクセス権は、そのユーザだけに付与されます。

browseable = No

この設定を行うと、共有がネットワーク環境で認識されなくなります。

read only = No

デフォルトでは、Sambaはread only = Yesパラメータによって、エクスポートされた共有への書き込みアクセスを禁止します。共有に書き込めるように設定するには、read only = No値を設定します。これはwritable = Yesと同値です。

create mask = 0640

MS Windows NTベース以外のシステムは、UNIXのパーミッションの概念を理解しないので、ファイルの作成時にアクセス権を割り当てることができません。create maskパラメータは、新しく作成されたファイルに割り当てられるアクセス権を定義します。これは書き込み可能な共有にのみ適用されます。実際、この設定はオーナーが読み書き権を持ち、オーナーの一次グループのメンバが読み込み権を持つことを意味します。valid users = %Sを設定すると、グループに読み込み権が与えられても、読み込みアクセスができなくなります。グループに読み書き権を付与する場合は、valid users = %Sという行を無効にしてください。

セキュリティレベル

セキュリティを向上させるため、各共有へのアクセスは、パスワードによって保護されています。SMBには、パーミッションを確認する方法が4つあります。

共有レベルのセキュリティ(セキュリティ=共有)

パスワードが共有に対し確実に割り当てられています。このパスワードを持っているユーザ全員が、その共有にアクセスできます。

ユーザレベルのセキュリティ(セキュリティ=ユーザ)

このセキュリティレベルは、ユーザという概念をSMBに取り入れています。各ユーザは、サーバにパスワードを登録する必要があります。登録後、エクスポートされた個々の共有へのアクセスは、ユーザ名に応じてサーバが許可します。

サーバレベルのセキュリティ(セキュリティ=サーバ)

クライアントに対しては、Sambaがユーザレベルモードで動作しているように見えます。しかし、Sambaはすべてのパスワードクエリを別のユーザレベルモードサーバに渡し、ユーザレベルモードサーバが認証されます。設定には追加のパラメータが必要です(password server)。

ADSレベルのセキュリティ(セキュリティ=ADS)

このモードでは、Sambaはアクティブディレクトリ環境のドメインメンバーとして動作します。このモードで操作するには、Sambaを実行しているコンピュータにKerberosがインストールされ設定済みであることが必要です。Sambaを使用してコンピュータをADSレルムに結合させる必要があります。これは、YaSTの[Windowsドメインメンバーシップ]を使用して行います。

ドメインレベルのセキュリティ(セキュリティ=ドメイン)

このモードは、コンピュータがWindows NTドメインに結合している場合に正しく動作します。Sambaはユーザ名とパスワードをWindows NT PrimaryまたはBackup Domain Controllerに渡すことによって、これらを検証しようとします。Windows NT Serverが行うのと同じ方法です。暗号化されたパスワードパラメータがyesに設定されている必要があります。

共有、ユーザ、サーバ、またはドメインレベルのセキュリティの設定は、サーバ全体に適用されます。個別の共有ごとに、ある共有には共有レベルのセキュリティ、別の共有にはユーザレベルセキュリティを設定するといったことはできません。しかし、システム上に設定したIPアドレスごとに、別のSambaサーバを実行することは可能です。

この詳細については、『Samba HOWTO Collection』を参照してください。つのシステムに複数のサーバをセットアップする場合は、オプションinterfacesおよびbind interfaces onlyに注意してください。