NT互換のファイルサーバ/プリント・サーバにするオープン・ソース・ソフトウェアだ。元に無償で利用することができる。ここではLinuxベースのSamba設定方法を解説し、Sambaサーバを構築していく。構築手順は以下の通りだ。2.2はLinuxカーネル2.4の上で開発され、いくつかの機能はLinuxカーネル2.4に依存している。Linuxカーネル2.2やFreeBSD、商用UNIXの上でも使用することは可能だが、本記事では以下のカーネル2.4のLinuxディストリビューションを前提に解説する。ServerそれぞれのOSインストールの仕方はここでは述べないが、Sambaを利用するための条件としてインストール後以下のチェックを行いLinuxマシン(サーバ側)とWindowsマシン(クライアント側)でネットワーク設定が正しく行われていることを最低限確認して欲しい。Linuxマシン上で自分自身のIPアドレスに対し、pingを実行する。自分のマシンのIPアドレスはifconfigコマンドで確認すること。pingができない場合は、ネットワークの設定を確認して欲しい。自分自身にホスト名でpinghostnameコマンドで自分のホスト名を確認し、pingを実行して欲しい。自分のホストのIPアドレスが先に確認したものでない場合は、DNSなどの設定を確認して欲しい。自分のホスト名のIPアドレスが127.0.0.1になる場合は、/etc/hostsの設定が誤っているので図1のように修正する。styrax.sample.com上記のようにホスト名と外部と通信可能なIPアドレスをマッピングさせる。ドメイン名(sample.comなど)をつけたFQDNも必要に応じて指定する。WindowsクライアントへIPアドレスでpingLinuxマシンからWindowsクライアントへIPアドレスでpingする。これがエラーになる場合は、Windowsの設定が正しくできていないことなどが考えられる。Windowsマシンへ名前でpingLinuxマシンからWindowsクライアントへホスト名でpingする。これがエラーになる場合は、DNSの設定などが正しくされていないことなどが考えられる。上記にあげた4つのpingコマンドをWindowsマシン上のコマンドプロンプトでも同様に実行してネットワークが接続されていることと名前解決のための設定が正しくされていることを確認して欲しい。2.2日本語版のインストール方法について述べる。Manager)を採用している。そのためインストールは以下図2の手順で簡単に行える。(必ずrootになっておこなうこと)他のディストリビューションでも以下の条件を満たしていればインストール可能かもしれない。Kernelが2.4(もしくは2.2)glibcのバージョンが2.2以降rpmのバージョンが4以降(inetdでなく)xinetdがインストールされている。V2.0のものを使用すると良い。samba-2.2*.rpmもし、エラーが出てしまったら、図3のようにすべてのSambaモジュールを削除してからインストールしてみて欲しい。日本Sambaユーザ会で配布しているRPMは1つですべてのSambaモジュールが入るようになっている。printerdefなどをバックアップしておこう。samba-commonTurbolinuxの場合は上記に加えて以下もsamba-commonの前に削除する必要がある。smbfsもし、先にあげたディストリビューション以外でRPM4ベースのもの場合はSRPMを再ビルドすることでインストール可能なRPMを作成することができる。samba*.src.rpm新しいRPMが作成される場所もまたディストリビューンによって異なるのでメッセージをよく見てどこに作成されるか確認してから図2のコマンドを実行して欲しい。7.0の場合は、/usr/src/redhat/RPMS/i386/に作成される。今回RPM3ベースのディストリビューン用のSRPMやRPMS用意していない。これらやRPMに対応していないディストリビューンの場合、自分でSambaをソースからコンパイルすることで対応することは可能であるが、初心者には難しい上、解説にはかなりのページを費やすため今回は省略させて頂く。SWATを起動Sambaの設定はsmb.confファイルに設定パラメータを記述することで行う。)このファイルはviエディタやemacsで編集すればいいが、初心者にはかなり難解であり、経験者でもパラメータのスペルを忘れがちだ。Web管理ツールが同梱されている。これを使うとWebブラウザからSambaの設定や管理が可能になる。SWATはhttpプロトコルでアクセスするが、SWAT単体ではサーバとして動かすことはできない。いってApacheなどのhttpdサーバにアドオンするものでもない。SWATにはいくつかの起動方法があり、一般的な方法は以下である。7.0ではxinetd経由で起動する。V2.0もxinetd経由で起動可能であるが、セキュリティの観点から暗号化通信可能なwebmin経由の起動を標準設定・推奨している。inetd,xinetd経由で使用する場合は、通信が暗号化されずrootのパスワードなどが他者から盗聴可能なのでファイアフォール内のイントラネット以外で使用することは推奨しない。標準で利用できないようになっている。使用できるようにするには以下の2つのコマンドをrootで実行する。HatのオリジナルSambaの場合はリモートからのSWAT接続はできないので、/etc/xinetd.d/swatファイルの以下の行を削除することも推奨する。Webminにログインしてからサーバメニューの中からSambaを探してSWATのアイコンからログインする。xinetd経由もwebmin経由でも起動時に認証が必要なので、ユーザ名としてrootを、パスワードとしてrootのものを入力する。図5しかし、SWATはWindows版のMSIEかNetscapeで使用するようにして欲しい。4.xなどを使用してはいけない。4.x以前にはバグがあって、入力データをSWATに正確に送らないため、設定を変更するとsmb.confが壊れてしまうことがあるからだ。Linuxのnetscape4.xからの場合では参照だけにして欲しい。smb.confの設定SWATを使えばディストリビューンやインストール方法によるsmb.confの場所の違いを意識せずにSambaの設定を行うことができる。具体的な操作方法としては画面の上部にある以下のアイコンをクリックして行う。●ホーム(HOME)SWATの表紙を表示する。日本語の説明や技術資料を簡単に見ることができる。図6●全体設定(GLOBALS)Samba全体の設定を行う[GLOBAL]セクションの設定ができる。モードもこの中で設定する。図7●共有設定(SHARES)共有フォルダ毎の設定ができる。ユーザホーム機能を提供する[homes]セクションもここで設定する。図8●プリンタ(PRINTERS)プリンタ共有の設定をする。プリンタ共有全体を提供する[printers]セクションもここで設定する。図9●動作状況(STATUS)Sambaデーモンの起動・終了ができる。加えて、誰が共有ファイルをアクセスしているか表示される。ユーザのセッションを強制切断することも可能だ。図10●設定表示(VIEW)smb.confの内容を表示する。これはSWATが認識できたものであり、smb.confの内容そのままではない。トラブル時は実際のファイルも確認して欲しい。図11●パスワード(PASSWORD)ユーザの追加・削除、パスワードの変更などを行える。Sambaユーザのパスワード変更も可能だ。Security=domainおよびserverを使っている場合はこの機能を使ってパスワード変更する。図12Sambaを使用するにあたってはSWATの表紙にある「導入編」にあるドキュメントは、必ず目を通しておこう。◎セキュリティ・モードの決定Sambaの設定に先だってまず以下の4つのセキュリティ・モードから1つを選ぶ必要がある。(ユーザ認証モード)共有(ファイル/プリンタ)を個別のユーザを使ってアクセスする。UNIXアカウントが必要なので、新規ユーザのためには新しくアカウントを作成する必要がある。SambaだけでWindowsドメインやWindowsワークグループを作成する場合に適しているが、パスワードはLinux用とは別にSamba専用のものを別に管理する必要がある。これがデフォルトの値である。(ドメイン認証モード)共有(ファイル/プリンタ)を個別のユーザを使ってアクセスする。UNIXアカウントが必要なので、新規ユーザのためには新しくアカウントを作成する必要がある。ユーザ認証はWindowsドメインにしてもらうため、Samba専用のパスワード管理は不要である。Windowsドメインが構築されていて、そこにSambaマシンを追加する場合に適している。2.2.2からサポートされたwinbindを使用する場合もこのモードを使用する。2.0/2.2では上記security=userまたはdomainでシステム運用することを推奨する。以下に述べる2つのセキュリティ・モードも存在するがセキュリティ強度の問題からあまり推奨しない。(共有認証モード)共有(ファイル/プリンタ)を決まった固定ユーザを使ってアクセスする。(認証ユーザを共有する)パスワードだけで、アクセス制御できるため、新規ユーザのために新しくアカウントを作成する必要がない。小規模な部門サーバやSOHO用に適しているが、不特定多数が使用する(個別にアカウントが作成できない)場合にも対応できる。(サーバ認証モード)共有(ファイル/プリンタ)を個別のユーザを使ってアクセスする。UNIXアカウントが必要なので、新規ユーザのためには新しくアカウントを作成する必要がある。ユーザ認証は他のWindowsサーバやSambaサーバにしてもらうため、Samba専用のパスワード管理は不要である。SambaやWindowsによるWindowsワークグループが構築されていて、そこにSambaマシンを追加する場合に適している。」アイコンをクリックして、設定を開始する。パラメータはたくさんでてくるが、重要なパラメータだけを解説する。SWATは、最初重要なパラメータまたはデフォルト以外を設定しているパラメータを表示する。「詳細表示」ボタンを押すことですべての設定可能パラメータを表示させることができる。page」の2つのパラメータが設定されていなければ「詳細表示」のボタンを押して忘れずに設定する。この2つを指定していないと日本語ファイル名は使用できない。systemLinuxマシン側で扱う日本語ファイル名のコーディングシステムを指定。eucを推奨するが、sjis,hex,capなども選べる。詳細は機能編を参照して欲しい。pageクライアントに日本語Windowsを使用する時は、932を必ず指定する。●workgroupSambaの所属する(あるいはクライアントへ応答する)Windowsワークグループ名/Windowsドメイン名を指定する。Windowsクライアントで指定するものと同じワークグループ名/ドメイン名を指定すると良い。string「ネットワークコンピュータ一覧」で詳細表示した時、「サーバの説明」と「プリンタの説明」に表示する文字列を指定する。ホスト名に置換される。Linux●security先に説明したセキュリティ・モードを指定する。guestUNIXにユーザアカウントがない場合、guest接続を許すかどうか指定する。"Never"guest接続を許さない。