24.2. Sambaサーバの設定

デフォルトの設定ファイル(/etc/samba/smb.conf)の使用で、ユーザーは 自分のホームディレクトリをSamba共有として閲覧することができます。また、システムに設定されているすべてのプリンタをSamba共有プリンタとして共有できます。すなわち、プリンタを システムに接続して、ネットワーク上のWindowsマシンから印刷することが出来ます。

24.2.1. グラフィカル設定

グラフィカルインターフェイスを使用してSambaを設定するには、Samba サーバー設定ツールを 使用します。コマンド行の設定については、項24.2.2へ進んで下さい。

Samba サーバー設定ツールは、Samba共有、ユーザー、及び基本サーバ設定を 管理する為のグラフィカルインターフェイスです。これは/etc/samba/ディレクトリの 設定ファイルを修正します。これらのファイルに対する変更でこのアプリケーション以外から来るものは 保存されます(上書きされません)。

このアプリケーションを使用するには、X Window Systemを起動していて、 root権限を 持っている必要があります。さらにredhat-config-sambaRPM パッケージがインストールされていなければなりません。デスクトップから Samba サーバー設定ツールを開始するには、パネル上の メインメニューボタン=>システム設定 => サーバ設定 =>Sambaサーバと 進みます。又は、シェルプロンプト(例えば、XTerm や GNOMEターミナル)で redhat-config-sambaコマンドを入力します。

図 24-1. Samba サーバー設定ツール

注意注記
 

Samba サーバー設定ツールは、共有プリンタあるいは、 Sambaサーバ上の自己のホームディレクトリをユーザーが表示できるような デフォルトスタンザは表示しません。

24.2.1.1. サーバ設定の構成

Sambaサーバを設定する最初のステップは、サーバに基本設定とセキュリティオプションを 構成することです。アプリケーションをスタートした後、プルダウンメニューから ユーザー設定 =>サーバ設定を選択します。 基本タブは図24-2に示してある ようになります。

図 24-2. 基本サーバー設定の構成

基本タブでは、コンピュータが属すべきワークグループ、及び 簡単なコンピュータの説明を記入します。これらは、smb.conf内の workgroupserver stringのオプションに相当します。

図 24-3. セキュリティサーバ設定の構成

セキュリティタブには、次のオプションが含まれています:

  • 認証モード — これは、セキュリティ オプションに相当します。次の認証タイプの1つを選択します。

    • ADS — Sambaサーバーは、 ADS (Active Directory Domain) 領域内でドメインメンバとして動作します。 このオプションには、Kerberosがサーバー上にインストール、及び設定が 行なわれていなければならず、また、 Sambaは、samba-clientパッケージの 一部であるnetユーティリティを使用して ADS領域のメンバになる必要があります。詳細についてはnetのmanページを参照してください。 このオプションではSambaがADSコントローラとなるようには設定しません。

    • ドメイン — Samba サーバはユーザー名とパスワードの組合せを Windows NT プライマリ、又はバックアップドメインコントローラに渡します。認証サーバ フィールド内のプライマリか、バックアップドメインコントローラのNetBIOS名を 指定します。

      暗号化パスワード選択されている場合、オプションは Yesにセットされる必要があります。

    • サーバ — Sambaサーバは、ユーザー名とパスワードの 組合せを別のSamba サーバに渡してそれを確証しようとします。それが出来ない場合、 サーバはユーザー認証モードを使用して確証しようとします。認証サーバ フィールド内に他のSambaサーバのNetBIOS名を指定して下さい。

    • 共有 — Sambaユーザーはユーザー名とパスワードの組合せを Sambaサーバベース単位で入力する必要はありません。ユーザー名とパスワードは、Sambaサーバから 特定の共有ディレクトリへ接続を試みるまでは、要求されません。

    • ユーザー — (デフォルト) Sambaユーザーは、有効なユーザー名と パスワードをSambaサーバベース単位で用意する必要があります。Windowsユーザー名 オプションを有効にしたい場合、このオプションを選択します。詳細については項24.2.1.2を参照して下さい。

  • パスワードを暗号化する — クライアントがWindows 98、Windows NT 4.0 (サービスパック3付き)、 あるいはより新しいバージョンのMicrosoft Windowsから接続をしている場合、 このオプションを有効にする必要があります。パスワードは、傍受される可能性のあるプレーンテキストではなく、暗号化された形式でサーバと クライアント間で転送されます。これは、encrypted passwords オプションに相当します。暗号化したSambaパスワードに関する詳細は項24.2.3を参照して下さい。

  • ゲストアカウント — ユーザー又は、ゲストユーザーが Sambaサーバにログインする時、彼らはサーバ上に有効なユーザーでマップされなければなり ません。 ゲストのSambaアカウントになるには、システム上の既存のユーザー名1つを選択 します。ゲストがSambaサーバにログインする時、彼らはこの既存ユーザーと同じ権限を 持ちます。 これはguest accountオプションに相当します。

OKボタンを押したあと、変更は設定ファイルに書き込まれて デーモンが再スタートします。これにより、変更はすぐに反映されます。

24.2.1.2. Sambaユーザーの管理

Samba サーバー設定ツールでは、既存のユーザーアカウント1つがシステム上で 有効になっており、Sambaユーザー1人が追加される前にSambaサーバとして動作していることを 要求します。Sambaユーザーはこの既存のユーザーアカウントに関連付けられます。

図 24-4. Sambaユーザーの管理

Sambaユーザーを追加するには、プルダウンメニューからユーザー設定 => Sambaユーザーと進み、ユーザーの追加ボタンを クリックします。新規のSambaユーザーを作成ウィンドウ上で、ローカルシステムの 既存ユーザー一覧からUnixユーザー名を選択します。

ユーザーがWindowsマシン上で別のユーザー名を持っていて、そのWindowsマシンからSambaサーバに ログインしようとしている場合は、Windowsユーザー名フィールドにWindowsの ユーザー名を指定します。サーバ設定内にあるユーザー設定のセキュリティ タブ上の認証モードは、このオプションを有効にするためにユーザー に設定しておく必要があります。

また、Sambaユーザー用のSambaパスワードも設定して、 確認の目的で再度、それを入力します。 たとえSamba用に暗号パスワードを選択していても、全てのユーザーのSambaパスワードは必ずシステムのパスワードとは異なるパスワード にすることを推薦します。

既存のユーザーを編集するには、一覧からユーザーを選択して、 ユーザーの編集ボタンをクリックします。 既存のSambaユーザーを削除するには、そのユーザーを選択して、ユーザーの削除 ボタンをクリックします。 Sambaユーザーを削除しても、関連したシステムユーザーアカウントを 削除するものではありません。

OKボタンをクリックするとすぐに ユーザーは変更されます。

24.2.1.3. 共有を追加

図 24-5. 共有を追加

共有を追加するには、追加ボタンをクリックします。基本タブは 以下のオプションを設定します:

  • ディレクトリ — Samba経由で共有するディレクトリ。 このディレクトリが存在している必要があります。

  • 説明 — 共有の簡単な説明。

  • 基本権限 — ユーザーが共有ディレクトリのファイルを 読み込む権限だけか、あるいは共有ディレクトリの読み込みと書き込みの権限を持つか 決定します。

アクセスタブ上で、指定したユーザーだけが共有にアクセスできるか、 又は、全てのSambaユーザーが共有にアクセスを許可されるかを選択します。特定のユーザー にアクセスを許可する選択をする場合、利用できるSambaユーザーの一覧からユーザーを選択 します。

OKボタンをクリックするとすぐに共有が 追加されます。

24.2.2. コマンド行の設定

Sambaは、/etc/samba/smb.confをその設定ファイルとして使用 します。この設定ファイルを変更する場合は、その変更はservice smb restart コマンドでSambaデーモンを再開始するまで反映されません。

WindowsのワークグループとSambaサーバの簡単な説明を記入するには、 smb.confファイルの中で次の行を編集します:

workgroup = WORKGROUPNAME
server string = BRIEF COMMENT ABOUT SERVER

WORKGROUPNAMEには、このマシンが属する Windowsワークグループの名前を指定します。 BRIEF COMMENT ABOUT SERVERはオプションで、 Sambaシステムに関するWindows用のコメントを入力できます。

Linuxシステム上にSamba共有ディレクトリを作成するには(ニーズやシステムに合わせてファイルを編集した後で) smb.confファイルに次のセクションを追加します:

[sharename]
comment = Insert a comment here
path = /home/share/
valid users = tfox carole
public = no
writable = yes
printable = no
create mask = 0765

上記の例では、tfoxとcaroleというユーザーが、SambaクライアントからSambaサーバー上のディレクトリ /home/shareに対し読み取りと書き込みを行うことができます。

24.2.3. 暗号化パスワード

暗号化されたパスワードが安全であると言う理由から、デフォルトで使用可能になっています。 暗号化パスワードを使用せず、プレーンテキストパスワードを使用する場合、 ネットワークパケットスニファを使用して誰かに傍受される可能性があります。 したがって、暗号化パスワードを使用することをお勧めします。

Microsoft SMBプロトコルは、当初プレーンテキストのパスワードを使用していました。しかし、Windows NT 4.0(サービスパック3以上付き)、 Windows 98、Windows 2000、 Windows ME、及びWindows XPでは、暗号化したSambaパスワードが必要です。Linuxシステムとこれら Windowsオペレーティングシステムの1つが動作しているシステム間でSambaを使用するには、Windowsのレジストリを編集してプレーンテキスト のパスワードを使用するか、LinuxシステムのSambaを設定して暗号化パスワードを使用するかのどちらでも行なえます。レジストリを修正する方を選択をした場合、 全てのWindowsマシンでそれを実行する必要があります。—これはリスクを伴い、 さらに衝突の原因にもなる可能性があります。より安全なセキュリティの為に暗号化されたパスワードの使用が推薦されます。

暗号化したパスワードを使用するようにSambaを設定するには、次の手順に従ってください。

  1. Samba用に個別のパスワードファイルを作成します。既存の/etc/passwdファイルに基づいてこのパスワードファイルを作成する場合は、次のコマンドを入力します。

    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    システムがNISを使用する場合は、以下のように入力します。

    ypcat passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

    mksmbpasswd.shスクリプトは、sambaパッケージと共に/usr/binディレクトリにインストールされます。

  2. rootだけが読み取り/書き込みを行えるようにSambaパスワードファイルのアクセス権を変更します。 次のコマンドを使用します。

    chmod 600 /etc/samba/smbpasswd
  3. このスクリプトでは、ユーザーのパスワードは新しいファイルにコピーされず、また、Sambaユーザーアカウントはそれ用のパスワードが設定されるまで有効には なりません。より高度なセキュリティの為に、ユーザーのSambaパスワードは、 ユーザーのシステムパスワードとは別のものにすることを推薦します。 各Sambaユーザーのパスワードを設定するには、 次のコマンドを使用します (usernameには各ユーザーのユーザー名を入れます)。

    smbpasswd username 
  4. 暗号化パスワードは有効になっていなければなりません。 これらはデフォルトで有効になっているため、 特に設定ファイル内で有効にする必要はありませんが、 設定ファイル内では無効にすることもできません。 /etc/samba/smb.confファイルで、 次の行がないことを確認します。

    encrypt passwords = no

    この行はあるが、行の先頭にセミコロン(;)を 付けてコメントアウトされている場合は、この行は無視されて暗号化されたパスワードが 有効になります。この行があり、コメントアウトされていない場合、 それを削除するかコメントアウトします。

    明確に、設定ファイル内で暗号化されたパスワードを有効にするには、次の行をetc/samba/smb.confに追加します。

    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd
  5. シェルプロンプトでコマンドservice smb restartを入力して、smbサービスが起動されていることを確認します。

  6. smbサービスを自動的に起動させる場合は、ntsysvchkconfig、 またはサービス設定ツールのいずれかを使用して、ランタイム時にこのサービスを有効にします。 詳細については第21章を参照してください。

passwdコマンドの使用時に、ユーザーのSambaパスワードとシステムパスワードを同期するためにpam_smbpass PAMモジュールを使用することができます。ユーザーがpasswdコマンドを起動すると、Red Hat Enterprise Linuxシステムへのログインに使用するパスワードとSamba共有への接続に使用するパスワードは変更されます。

この機能を有効にするには、以下の行をpam_cracklib.soの下の/etc/pam.d/system-authに追加します。

password required /lib/security/pam_smbpass.so nullok use_authtok try_first_pass

24.2.4. サーバの開始と停止

Samba経由でディレクトリを共有しているサーバ上では、smbサービスが 実行されている必要があります。

Sambaデーモンのステータスを表示するには次のコマンドを使用します:

/sbin/service smb status

以下のコマンドでデーモンを開始します:

/sbin/service smb start

以下のコマンドでデーモンを停止します:

/sbin/service smb stop

ブート時にsmbサービスを開始するには以下のコマンドを使用します:

/sbin/chkconfig --level 345 smb on

また、chkconfig, ntsysvあるいは サービス設定ツールを使用して、 ブート時にスタートするサービスを設定できます。詳細は 第21章を御覧下さい。

ティップヒント
 

システムに対してアクティブな接続を表示するには、 smbstatusコマンドを実行します。