はじめる人のびぎねっと。

プライバシーポリシー

読み物

Samba 2.2ではじめるWindowsファイルサーバー入門

ページ1  はじめに/Sambaって何?/準備/SWATを使ってみよう
ページ2  自分のホームディレクトリに接続しよう/共有ディレクトリを作成しよう
ページ3  プリンタを共有しよう

はじめに

この文書は、オープンソースソフトウェアである「Samba」を利用して、簡単にWindows用のファイルサーバーを構築するための方法を説明したものです。 説明に当たって、サーバーOSにはLinuxを使っています。ディストリビューションは特定しない記述になっています。クライアントOSはWindows Meを利用していますが、Windows 98やWindows 95、Windows NT、Windows 2000などでもほぼそのまま適用可能ですので、Windows用語については適宜読みかえてください。

Sambaって何?

Samba(サンバ)とは、LinuxやFreeBSD、SolarisやHP-UXなどの、いわゆる「UNIX互換OS」と呼ばれるOSを、Windows用のファイルサーバー、プリントサーバーにするソフトウェアです。Sambaを使用することにより、安価にWindowsサーバーを構築することができます。

Sambaは2つのプログラムによって構成されています。 1つは、Windowsネットワーク上で名前解決を行うプログラム(nmbd)です。 もう1つは、サーバーとクライアントの間でファイルのやり取りを行うプログラム(smbd)です。

SambaはTCP/IPを使って通信を行います。そのため、Windowsクライアント側のネットワークの設定では、WindowsネットワークをTCP/IP上で行うように設定しておく必要があります。

準備

ほとんどのLinuxディストリビューションには、インストールCDなどにSambaが含まれています。これからLinuxをインストールするのであれば、OSインストール時に、インストールするパッケージを指定するときにSambaを含めてください。

既にインストールしているマシンにSambaがインストールされているかは、ほとんどのディストリビューションにおいて、パッケージ管理ツールrpmで確認できます。以下のコマンドを入力して何か出力された場合には、既にSambaがインストールされています。

[tmiyahar@samba tmiyahar]$ rpm -qa|grep samba
samba-client-2.2.4
samba-common-2.2.4
samba-2.2.4

Webブラウザで管理、「SWAT」を使ってみよう

Sambaには、Webブラウザ経由で管理を行うことの出来るツール「SWAT(Samba Web Administration Tool)」が標準で用意されています。Sambaの起動/停止から各種設定の変更までの全てをWebブラウザ上で行うことが出来るので、Sambaの設定を簡単に行うことができるようになります。

SWATを利用するには、Sambaが動いているサーバーのポート901番に、Webブラウザからアクセスします。

http://192.168.0.10:901/
(192.168.0.10はSambaサーバーのIPアドレスです。ご使用の環境に合わせて読み替えてください。)
もしSWATにアクセスできない時には

もしかすると、ダイアログが出てこず、SWATにアクセスできなかったかもしれません。もしその場合には、サーバーの設定を変更しなくてはいけません。サーバーマシンにrootでログインするか、telnetなどでサーバーに一般ユーザーとしてリモートログイン後にsuコマンドでスーパーユーザーとなり、まず/etc/inetd.confというファイルを編集します。ファイル中にある以下の行を探しましょう。

#swat stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/swat

行の先頭にあるコメントアウト「#」がSWATを無効にしているので、この「#」を取り除いて保存します。変更を有効にするために、inetdを再起動します。

# /etc/rc.d/init.d/inet restart

また、このほかにtcpdによってアクセス制限がかけられている可能性があります。これを修正するには/etc/hosts.allowファイルを修正する必要があります。/etc/hosts.allowファイルに次の1行を追加してください。

swat : ALL

もし、セキュリティを強固にしたいのであれば、ALLを管理用のクライアントマシンのIPアドレスにすることにより、そのIPアドレス以外のマシンからのアクセスを受け付けないようにすることが出来ます。

swat : 192.168.0.20
(IPアドレスが192.168.0.20以外のマシンからはSWATにアクセスできません)
もしSWATにアクセスできない時には(Red Hat 7編)

Red Hat7以降など、最近リリースされたディストリビューションの多くでは、inetdの機能を強化したxinetd(http://www.xinetd.org/)が使われているため、「上記の方法ではSWATにアクセスできない」と読者の治田(はった)賢司さんからご指摘をいただきました。治田さん、情報ありがとうございました。

xinetdでは、アクセス制御をサービス別に細かく行うことのできるファイルが、/etc/xinetd.d/ディレクトリに収められています。その中のswatファイルを見てみましょう。

# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat ?
#              to configure your Samba server. To use SWAT, ?
#              connect to port 901 with your favorite web browser.
service swat
{
        port    = 901
        socket_type     = stream
        wait    = no
        only_from = localhost
        user    = root
        server  = /usr/sbin/swat
        log_on_failure  += USERID
        disable = yes
}

ポイントとなるのはonly_fromとdisableです。only_fromは、inetdでのhosts.allowにあたります。ここではlocalhost、つまりxinetdが動作しているマシンのみアクセスを許可しています。only_fromは複数行記述することができるので、例えば192.168.0.10からのアクセスを許可したいのであれば、

        only_from = 192.168.0.10

の行を追加しましょう。

disableはアクセスの許可/不許可をコントロールします。disableは「不許可」ですので、もし「許可」したければ値を「no」にしなくてはいけません。

        disable = no

書き換えたファイルは以下の通りです。

service swat
{
        port    = 901
        socket_type     = stream
        wait    = no
        only_from = localhost
        only_from = 192.168.0.10
        user    = root
        server  = /usr/sbin/swat
        log_on_failure  += USERID
        disable = no
}

/etc/xinetd.d/swatの修正が終わったらxinetdを再起動しましょう。 再起動は/etc/rc.d/init.d/xinetdスクリプトを使用します。

# /etc/rc.d/init.d/xinetd restart

再起動を確認したら、SWATにアクセスしてみてください。

日本Sambaユーザ会のFTPサイトにて日本語化されたSWATを含んだ SambaのRPMパッケージが配布されています。日本語でSWATを利用したい場合には以下のアドレスよりRPMパッケージをダウンロードしてインストールしてください。インストール方法については「RPMコマンドの使い方」を参照してください。(本情報は日本Sambaユーザ会 代表幹事 小田切氏より提供いただきました。ありがとうございました。)

Red Hat Linux7.x/8用Sambaダウンロードサイト

Sambaの基本的な設定を変更する

SWATにアクセスしたら、まずはSambaの基本的な設定を変更しましょう。SWATへのアクセスに成功すると、Webブラウザが認証ダイアログを表示してユーザー名とパスワードの入力を要求してきますので、ユーザ名を「root」、パスワードはLinuxサーバーでのrootのパスワードを入力します。認証に成功すると、SWATの初期画面が表示されます。


▲SWATの初期画面(クリックすると拡大します)

まず「全体設定 GLOBALS」アイコンをクリックします。この画面中の「基本オプション」-「workgroup」の値を変更しましょう。この値はクライアントのWindowsマシンで設定している「ワークグループ名」と同一にします。ワークグループ名の確認はWindowsクライアントの「コントロールパネル」-「ネットワーク」で行うことができます(Windows2000・XPでは「マイコンピュータ」右クリック-「プロパティ」-「ネットワークID」)。変更したら、「設定変更」ボタンを押して設定を変更しましょう。

設定を変更しただけでは設定の変更はSambaには反映されません。今度は「動作状況 STATUS」アイコンをクリックしましょう。この画面では、smbdおよびnmbdの動作状況が確認できます。もし停止中であれば「起動」ボタンを、動作中であれば「再起動」ボタンを押すと、変更後の設定を読み込んでSambaが動き始めます。

変更後のSambaの動作を確認するために、Windowsクライアントから「マイネットワーク」-「ネットワーク全体」とダブルクリックしていき、上で設定したワークグループ名のアイコンを開いて、中にSambaサーバーの名前があれば成功です。エクスプローラーの表示を「詳細表示」にしておけば、コメントに「Samba○○」と表示されているのも確認できるでしょう。この表示については「全体設定」-「基本オプション」-「server string」で変更することができます。

ページ1  はじめに/Sambaって何?/準備/SWATを使ってみよう
ページ2  自分のホームディレクトリに接続しよう/共有ディレクトリを作成しよう
ページ3  プリンタを共有しよう

このページのTOPへ