SUSE LinuxのSambaサーバは、以下の2つの方法で設定できます。YaSTを使用するか、または手動で設定します。手動で設定を行えば細かい点まで調整できますが、YaSTのGUIほど便利ではありません。
Sambaサーバを設定するには、YaSTを起動して、+の順に選択します。モジュールを初めて起動すると、ダイアログが表示され、サーバの管理に関する2、3の基本設定を行うように指示された後、最後にSambaのrootのパスワードを入力するように指示されます。次回起動時には、ダイアログが表示されます。
ダイアログは、次の2つのステップで構成されています。
から既存の名前を選択するか、新しい名前を入力し、を入力します。
次のステップで、PDCとして機能するサーバを指定し、を入力します。
の設定はすべて、後でダイアログのタブで変更できます。
Sambaサーバモジュールの初回起動中、ダイアログの直後にダイアログが表示されます。このダイアログは、3つのタブで構成されています。
タブで、Sambaサーバの起動を設定できます。システムのブート時に毎回サービスが起動されるようにするには、を選択します。手動起動を有効化するには、を選択します。Sambaサーバの起動の詳細については、28.2項 「Sambaの起動および停止」を参照してください。
このタブで、ファイアウォールのポートを開くこともできます。そのためには、 を選択します。複数のネットワークインタフェースがある場合は、をクリックし、インタフェースを選択した後、をクリックして、Sambaサービス用のネットワークインタフェースを選択します。
[共有]タブで、有効にするSambaの共有を指定します。homesおよびプリンタなど、事前定義済みの共有がいくつかあります。を使用して、との間で切り替えます。新規の共有を追加するには、共有を削除するにはをクリックします。
タブで、ホストが関連付けられているドメイン()と、ネットワークで代替ホスト名を使用するかどうか()を指定します。エキスパートグローバル設定、またはユーザ認証を設定するには、をクリックします。
をクリックして設定を完了します。
Sambaサーバ管理の代替ツールは、SWAT(Samba Web管理ツール)です。このプログラムには、Sambaサーバを設定するための簡単なWebインタフェースがあります。SWATを使用するには、Webブラウザで、http://localhost:901を開き、rootユーザでログインします。特別なSamba rootアカウントがない場合、システムのrootアカウントを使用します。
![]() | SWATの有効化 |
|---|---|
Sambaサーバのインストール後、SWATは有効化されていません。SWATを有効化するには、YaSTで+の順に開き、ネットワークサービス設定を有効にし、テーブルからを選択し、(オンまたはオフ)をクリックします。 | |
Sambaをサーバとして使用する場合は、sambaをインストールします。Samba の主となる設定ファイルは、/etc/samba/smb.confです。このファイルは2つの論理部分に分けられます。[global]セクションには、中心的なグローバル設定が含まれます。[share]セクションには、個別のファイルとプリンタ共有が入っています。このアプローチにより、共有に関する詳細は[global]セクションで個別に、またはグローバルに設定することができ、設定ファイルの構造的透過性が高まっています。
[global]の次のパラメータは、ネットワークの設定に応じた必要条件を満たし、Windows環境で他のマシンがSMBを経由してこのSambaサーバにアクセスできるようにするために多少の調整が必要です。
この行は、Sambaサーバをワークグループに割り当てます。TUX-NETを実際のネットワーク環境にある適切なワークグループに置き換えてください。DNS名がネットワーク内の他のマシンに割り当てられていなければ、SambaサーバがDNS名の下に表示されます。DNS名が使用できない場合は、netbiosname=MYNAMEを使用してサーバ名を設定します。このパラメータについての詳細はmansmb.confを参照してください。
このパラメータは、SambaサーバがワークグループのLMB(ローカルマスタブラウザ)になるかどうかのきっかけとなります。Sambaサーバの設定が誤っていた場合に、既存のWindowsネットワークに支障が出ないよう、小さな値を選択します。この重要なトピックについての詳細は、パッケージマニュアルのtextdocsサブディレクトリにあるBROWSING.txtとBROWSING-Config.txtを参照してください。
ネットワーク内に他のSMBサーバ(たとえば、Windows NTまたは2000サーバ)が存在せず、ローカル環境に存在するすべてのシステムのリストをSambaサーバに保存する場合は、os levelの値を大きくします(たとえば、65)。これでSambaサーバが、ローカルネットワークのLMBとして選択されました。
この設定を変更するときは、それが既存のWindowsネットワーク環境にどう影響するかを慎重に検討する必要があります。まず、隔離されたネットワークで、または影響の少ない時間帯に、変更をテストしてください。
アクティブなWINSサーバをもつ既存のWindowsネットワークにSambaサーバを参加させる場合は、wins serverオプションを有効にし、その値をWINSサーバのIPアドレスに設定します。
各Windowsマシンの接続先サブネットが異なり、互いを認識させなければならない場合は、WINSサーバをセットアップする必要があります。SambaサーバをWINSサーバなどにするには、wins support = Yesオプションを設定します。ネットワーク内でこの設定が有効なSambaサーバは1台だけであることを確認します。smb.confファイル内で、オプションwins serverとwins supportは同時に有効にしないでください。
次の例では、SMBクライアントがCD-ROMドライブとユーザディレクトリ(homes)を利用できるようにする方法を示します。
CD-ROMドライブが誤って利用可能になるのを避けるため、これらの行はコメントマーク(この場合はセミコロン)で無効にします。最初の列のセミコロンを削除し、CD-ROMドライブをSambaと共有します。
[cdrom]およびコメント[cdrom]エントリは、ネットワーク上のすべてのSMBクライアントが認識できる共有の名前です。さらにcommentを追加して、共有を説明することができます。
path = /media/cdrompathオプションで、/media/cdromディレクトリをエクスポートします。
デフォルトを非常に制約的に設定することによって、このシステム上に存在するユーザのみがこの種の共有を利用できるようになります。この共有をあらゆるユーザに開放する場合は、設定にguest ok = yesという行を追加します。この設定は、ネットワーク上の全ユーザに読み込み許可を与えます。このパラメータを使用する場合には、相当な注意を払うことをお勧めします。またこのパラメータを[global]セクションで使用する場合には、さらに注意が必要です。
[homes][home]共有は、ここでは特に重要です。ユーザがLinuxファイルサーバの有効なアカウントとパスワードを持ち、独自のホームディレクトリを持っていればそれに接続することができます。
例 28.2 homes共有
[homes] comment = Home Directories valid users = %S browseable = No read only = No create mask = 0640 directory mask = 0750
SMBサーバに接続しているユーザの共有名を他の共有が使用していない限り、[homes]共有ディレクティブを使用して共有が動的に生成されます。生成される共有の名前は、ユーザ名になります。
valid users = %S%Sは、接続が正常に確立されるとすぐに、具体的な共有名に置き換えられます。[homes]共有の場合、これは常にユーザ名です。したがって、ユーザの共有に対するアクセス権は、そのユーザだけに付与されます。
browseable = Noこの設定を行うと、共有がネットワーク環境で認識されなくなります。
read only = Noデフォルトでは、Sambaはread only = Yesパラメータによって、エクスポートされた共有への書き込みアクセスを禁止します。共有に書き込めるように設定するには、read only = No値を設定します。これはwritable = Yesと同値です。
create mask = 0640MS Windows NTベース以外のシステムは、UNIXのパーミッションの概念を理解しないので、ファイルの作成時にアクセス権を割り当てることができません。create maskパラメータは、新しく作成されたファイルに割り当てられるアクセス権を定義します。これは書き込み可能な共有にのみ適用されます。実際、この設定はオーナーが読み書き権を持ち、オーナーの一次グループのメンバが読み込み権を持つことを意味します。valid users = %Sを設定すると、グループに読み込み権が与えられても、読み込みアクセスができなくなります。グループに読み書き権を付与する場合は、valid users = %Sという行を無効にしてください。
セキュリティを向上させるため、各共有へのアクセスは、パスワードによって保護されています。SMBには、パーミッションをチェックする方法が3つあります。
パスワードが共有に対し確実に割り当てられています。このパスワードを持っているユーザ全員が、その共有にアクセスできます。
このセキュリティレベルは、ユーザという概念をSMBに取り入れています。各ユーザは、サーバにパスワードを登録する必要があります。登録後、エクスポートされた個々の共有へのアクセスは、ユーザ名に応じてサーバが許可します。
クライアントに対しては、Sambaがユーザレベルモードで動作しているように見えます。しかし、Sambaはすべてのパスワードクエリを別のユーザレベルモードサーバに渡し、ユーザレベルモードサーバが認証を行います。設定には追加のパラメータが必要です(password server)。
共有、ユーザ、またはサーバレベルのセキュリティの設定は、サーバ全体に適用されます。個別の共有ごとに、ある共有には共有レベルのセキュリティ、別の共有にはユーザレベルセキュリティを設定するといったことはできません。しかし、システム上に設定したIPアドレスごとに、別のSambaサーバを実行することは可能です。
この詳細については、『Samba HOWTO Collection』を参照してください。つのシステムに複数のサーバをセットアップする場合は、オプションinterfacesおよびbind interfaces onlyに注意してください。