17.2. Sambaサーバの設定

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

17.2.1. グラフィカル設定

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

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

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

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

注意注意
 

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

17.2.1.1. サーバ設定の構成

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

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

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

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

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

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

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

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

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

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

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

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

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

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

17.2.1.2. Sambaユーザーの管理

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

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

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

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

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

既存のユーザーを編集するには、ユーザーの編集ボタンをクリックします。 既存のSambaユーザーを削除するには、そのユーザーを選択して、ユーザーの削除 ボタンをクリックします。Sambaユーザーを削除しても、関連したRed Hat Linuxユーザーアカウントを削除 するものではありません。

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

17.2.1.3. 共有を追加

図 17-5. 共有を追加

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

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

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

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

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

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

17.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に対し読み取りと書き込みを行うことができます。

17.2.3. 暗号化パスワード

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

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

暗号化したパスワードを使用するようにRed Hat Linuxシステム上の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パスワードは、Red Hat Linuxの パスワードとは別のものを使用されることが推薦されます。各Sambaユーザーのパスワードを設定するには、 次のコマンドを使用します(usernameには各ユーザーのユーザー名を指定します):

    smbpasswd username
  4. 暗号化パスワードはSamba設定ファイルで有効にする必要があります。ファイルsmb.confで、次の行がコメントアウトされていないことを確認します:

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

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

ティップヒント
 

暗号化パスワードの詳細については、 /usr/share/doc/samba-<version>/docs/htmldocs/ENCRYPTION.html を参照して下さい。 (<version> をインストールしたSambaのバージョン番号に置き換えます)

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

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

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

17.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あるいは サービス設定ツールを使用して、 ブート時にスタートするサービスを設定できます。詳細は 第14章を御覧下さい。