Linuxを使い始めたユーザーや、すでに使いこなしているぞというユーザーの方といえども、現在のところ全くWindowsと付き合わずに済ませる、ということは非常に難しい状況でしょう。私自身、サーバOSとしては非常に安定していて可用性のある点を評価してLinuxを使っていますが、クライアント用のOSとしてはWindows 98やWindows NT Workstationを使っています。ビジネスの世界ではExcelやWordのファイルが事実上の標準だと思われているため、こうしたファイルを参照したり作成するためには、どうしてもWindowsを使わざるを得ないというのが現状でしょう。
とはいえ、クライアントだけでなくサーバまでもWindowsを使って社内のシステムをマイクロソフト一色にしてしまうことに危機感を感じている方も少なくないと思います。Windows NTを実際に運用してみるとわかりますが、真っ青の画面になってしまって全く動かなくなってしまったり、一見正常に動いているように見えてもネットワークからアクセスしてみると正常な挙動を示さないなど、苦労させられることがありました。読者のみなさんにも同じような経験を持っている方は少なくないでしょう。
そこでこうした苦労をできるだけ避けるために、Windowsがもつファイル/プリンタを共有する機能を、Windowsではなく、安定した動作が期待できるLinux(UNIX)でできないだろうか、と考えたくなります。それを実現するのが、これから紹介するSambaというソフトウェアです。
連載第1回の今回は、このSambaを簡単に紹介した後、皆さんに触れて使っていただけるよう、具体的な利用方法などを紹介していきたいと思います。
SambaはWindows NT互換のファイル共有機能を実現するソフトウェアで、その代表的な機能がファイル/プリンタの共有機能になります。これ以外の機能として、ドメインコントローラーやWINSサーバなどが実装されています。この連載では、Sambaの稼働環境としてLinuxを前提にしていきますが、SambaはSolaris、HP-UX、FreeBSD、NetBSDなどのさまざまなUNIXプラットフォーム上で動作します。
また、Sambaはオープンソースソフトウェアであり、GPLというライセンスを基にソースが配布されています。よく、オープンソースソフトウェアは「信頼性の点でかけているので企業や官庁では利用しづらい」などの意見がありますが、Sambaは、Webサーバ機能をもつApache、DNSサーバであるBIND、メールサーバであるsendmailなどと並んで、非常に多くの導入実績を持っています。日本国内の企業でもかなり多く導入されていることがわかっており、信頼性の点でけっして劣るものではありません。
Sambaは、Windowsの最新仕様を追って日々改善されています。そのため、年4回程度、新しいバージョンがリリースされます。その中で、現在日本で最も使われているパッケージは「Samba 2.0.5a 日本語版」です。これは、Sambaの開発を行っているSamba TeamがリリースしたSamba 2.0.5aに対して、日本Sambaユーザー会が共有名に日本語が利用できるよう改善を行ったり、日本語のドキュメントを追加したりしたものです。Windows 2000を使わない限りにおいては最も安定した動作を持っているといえます。
今後利用されていくと思われるものが「Samba 2.0.7」です。これは、これまでのバージョンのものに、Windows 2000への対応を施したものになっています。Windows 2000が同一ネットワーク内にある場合や新しいバージョン好きな方は、近日中にリリースされる「Samba 2.0.7 日本語版」を利用するとよいでしょう。
Sambaのインストールですが、最近のほとんどのディストリビューションでは標準ソフトウェアとして最初から入っているので、さほど自分で明示的にSambaだけのためのインストール作業をする必要あまりないようです。とはいえ、Sambaのバージョンが古かったりして、アップグレードしなければならないような状況もあると思いますので、ここではRPMパッケージのインストールについて簡単に触れておきたいと思います。
RPMパッケージを利用しているディストリビューション(Red Hat Linux、TurboLinux、Vine Linuxなど)で、すでにSambaがインストールされているかどうかは、コマンドラインから
# rpm -qa | grep samba |
と入力することでわかります。もし、インストールされていれば、パッケージ名がリストアップされるはずです。ここで表示されるSambaのバージョンが古いようであれば、アップグレードをすることをおすすめします。アップグレードをするには、まず、上のコマンドで表示されたパッケージを、管理者(root)権限で
# rpm -e samba # rpm -e samba-client # rpm -e samba-common |
のようにアンインストールしておきます。その上で、最新のパッケージを ftp.samba.gr.jp や雑誌付録のCD-ROMなどから入手し、
# rpm -ihv samba-common |
のようにしてインストールをします。
ここで注意をしなくてはならないのは、samba-commonパッケージを、sambaやsamba-clientよりも先にインストールしなくてはいけないということです。samba-common以外を先にインストールしようとすると依存関係が解決できず正常にインストールできません。
以上で、Sambaのインストール自体は終了です。
RPMパッケージ以外パッケージのインストール方法やソースからのコンパイル方法などの情報は、www.samba.gr.jpや各ディストリビューションに関するサイトにありますので、参考にするといいでしょう。
それでは、早速Sambaを利用して、ファイルサーバーを構築してみることにしましょう。Sambaは、すでにWindows間でファイル共有などができている状態であれば、LinuxサーバにSambaを導入するだけでWindows側の設定変更などは一切せずに、簡単にファイルサーバが構築できます。
今回の導入は、すでにあるワークグループ「atmarkit」にLinuxサーバを導入し、ファイルサーバとして機能させることにしたいと思います。
これからSambaの具体的設定方法を紹介していきますが、その前にひとつ知っておいて頂きたいことが、「Sambaの設定ファイルは smb.conf というファイルで、パッケージからインストールした場合は /etc の下にある」ということです。Sambaの設定は基本的にすべてこの smb.conf で行います。
設定ファイル smb.conf の構造は基本的に以下のようになっています。現在の設定状況を知りたい場合は
# cat /etc/smb.conf |
と入力することで確認できます。
smb.confの構造
[セクション名] パラメータ名 = パラメータ値 : : [セクション名] パラメータ名 = パラメータ値 : : |
セクションは、全体的な設定を行う[global]やプリンタの共有設定を行う[printers]などがあり、好きな名前で[共有名]というセクションを作ることで、共有が作成できます。パラメータ値は、具体的に設定したい内容を記述することもありますが、「設定する」/「設定しない」に関しては「Yes」/「No」とすることで設定できます。
それでは、具体的にパラメータを紹介しましょう。
[global]セクション
[共有名]セクション
共有の名前は、予約されているglobal,home,printerなど以外であれば、自由につけることが可能です。特に、Samba日本語版では日本語を用いた共有名を利用することができます。
以上を踏まえると、以下のような設定ファイルを作ることができます。
smb.confの設定例
[global] [kikaku] |
これは、ワークグループ「atmarkit」に所属しており、その中で「kikaku」という共有を提供するファイルサーバーという設定になり、想定した環境にあったものとなります。
それでは、上の設定を smb.conf に保存して、実際にSambaを動かしてみることにしまし
ょう。多くのディストリビューションの場合、管理者(root)権限で
# /etc/rc.d/init.d/smbd start |
とすることでSambaを起動することができます。ディストリビューションによってはパスが異なることがあるかもしれませんが、基本的には変わりないはずです。これで無事にSambaが立ち上がったことになります。
最後に、ユーザーの設定をします。SambaのユーザーはLinuxのユーザー設定とともにSamba独自の設定が必要となります。Sambaのユーザーを設定を行ってはじめて共有にアクセスできることになります。
新しくSambaユーザを登録するには、まずLinuxのユーザーを登録する必要があります。
これは、Sambaに限った設定ではなく、一般的なLinuxユーザーの登録になります。管理者権限で
|
としてください。
次に、Sambaユーザを登録します。Sambaユーザーのパスワードの設定はsmbpasswd を用いておこないます(例では、hamanoというユーザのSambaのパスワードの設定をしています)。
|
もし、上のように新たに一人ずつ設定するのではなく、既存のLinuxユーザー設定をそのままSambaの設定に移行したいという場合には、
|
とすることで、/etc/passwdにあるユーザー情報すべてを一斉にSamba側に移行することが可能です。ただし、この設定はLinuxユーザーがSamba側にエントリされるだけで、パスワードは設定されません。パスワードはあとから、個別に設定する必要があります。
|
上記の方法で一斉で移行した場合はrootなどのシステムアカウントもSamba側に登録されてしまいます。そうした接続させたくないユーザーは、/etc/smbpasswd からユーザー行を削除してください。
以上でSambaの基本的な設定は終わりです。実際にWindowsのクライアントからSambaへアクセスしてみてください。Windowsのファイルサーバと区別がつかないほどスムーズにWindowsへのファイル共有を実現していると思います。このようにSambaではさほど複雑な設定なしにWindows NT Server 互換のファイルサーバを構築できるのです。
今回は、大急ぎでSambaについて紹介し、既存のワークグループにSambaサーバーを追加してみました。次回はもう一段レベルアップして Windows NT Server との連携方法など実際の運用でさらに役立つ情報を紹介したいと思います。
Copyright © ITmedia, Inc. All Rights Reserved.