「Fedora Core への Samba インストール」の版間の差分

提供:Samba-JP
ナビゲーションに移動検索に移動
356行目: 356行目:


この設定は、コマンドラインからntsysvコマンドを起動することにより対話的に行うことも可能です。
この設定は、コマンドラインからntsysvコマンドを起動することにより対話的に行うことも可能です。

●Sambaがうまく動作しない場合のトラブルシューティング
ここまでの設定を順番に行なっていけば、Sambaへの接続は問題なくできる筈ですが、どうしてもうまくいかないという方は以下を参考にして、トラブルシューティングを行なってみてください。

○ファイアウォールやセキュリティの設定を確認する
インターネットからの不正なアクセスを防御してくれるファイアウォールですが、Sambaにとって本来必要な通信も遮断してしまう厄介な機能でもあります。
メーリングリストなどでもうまくつながらないといった原因のかなりのものがWindows上でパーソナルファイアウォールが実行されていることによるものです。初心者の方の場合、ファイアウォールを無効にして確認を行なったつもりが実は無効になっていなかったという場合もあるので、どうやってもつながらない場合は、一度ファイアウォールをアンインストールして試してみてください。
なおLinux側でファイアウォールが有効になっている場合も問題が発生します。前述したlokkitコマンドなどによりファイアウォール機能を無効にできますので、Sambaへの接続がうまくいかないときは試してみてください。また、念のため/etc/selinux/config ファイルの内容も今一度確認してみましょう。

○TCP/IPレベルの接続を確認する
Sambaの設定が適切に行なわれていても、基本となるTCP/IPの設定に誤りがあっては、当然接続できません。DHCPを使用していない場合はIPアドレス、サブネットマスクなどの設定を確認してください。
目視確認を行なったら、

1) WindowsおよびLinux上で
-----
ping <相手マシンのIPアドレス>
-----
を実行して互いに反応があることを確認する。

2) Windows上で
-----
nbtstat -A <LinuxマシンのIPアドレス>
-----
を実行して、図xx32のような出力が得られることを確認する。
-----
図xx32: nbtstatコマンドの表示例
C:\>nbtstat -A 192.168.135.13

Node IpAddress: [192.168.135.1] Scope Id: []

NetBIOS Remote Machine Name Table

Name Type Status
---------------------------------------------
FILESV01 <00> UNIQUE Registered
FILESV01 <03> UNIQUE Registered
FILESV01 <20> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
MYGROUP <00> GROUP Registered
MYGROUP <1D> UNIQUE Registered
MYGROUP <1E> GROUP Registered

MAC Address = 00-00-00-00-00-00

(nbtstat01.bmp)
-----

といった確認を行なってください。1)がうまくいかない場合はTCP/IPレベルの設定に問題があります。2)がうまくいかない場合は、Sambaが起動していない、ファイアウォールが有効になっているといった原因が考えられます。
なお、ファイアウォールが有効になっていると、pingコマンドに失敗してもSambaでは接続できてしまうといったケースがありますので、トラブルシューティングの観点からは、予めファイアウォール機能を無効にした状態で確認を行なった方が確実です(注xx33)。

-----
注xx33: 本記事では図xx1のような内部ネットワークを想定しています。ルータなしにインターネットにマシンが直結されているような環境では安直にファイアウォールを無効にするのは危険ですので、必ずインターネットとの接続を切断した状態で確認を行ない、最終的にインターネットに再接続する前には、Sambaの通信に不要な通信は元通り遮断する設定を行なう必要があります。
-----

○Sambaユーザ名とパスワードを確認する
図xx27のダイアログボックスが表示される場合は、Samba自体はきちんと動作していますので、Linuxマシン上に作成したSambaユーザのユーザ名やパスワードを確認してください。

●Sambaの設定入門
ここまではSambaを動作させることを最優先にして説明を行ってきました。動作確認ができたところで、いよいよSambaの設定を行なっていきましょう。
Sambaの設定方法としては、大きくSWATを使用してsmb.confファイルを修正する方法と/etc/sambaにある図xx34のようなsmb.confファイルを直接修正する方法とがあります。本格的に使用する場合は、直接編集による設定変更をお勧めしますが、ここでは簡単に設定が行なえるSWATの使用を前提に設定方法について説明します。いずれの方法で設定を行なった場合も、設定が完了したら基本的にSambaを再起動するようにしてください(注xx35)。

-----
図xx34: smb.confファイル
(smb-conf.bmp)
-----
注xx35: 実際は再起動されなくても反映される設定もありますが、無用の混乱を避ける意味でSambaの再起動を推奨します。
-----

2007年6月12日 (火) 17:54時点における版

Sambaのインストール

Fedora Core 3にはSambaのパッケージが含まれています。

ただし、デフォルトのインストールを行った状態では、Samba本体はインストールされていませんので別途インストールする必要があります。可能な限り、インターネットから最新版のパッケージを入手、インストールすることをお勧めします。

Sambaのインストール確認

Sambaのインストール状況を確認するには、以下のようにして端末(コマンドライン)上から rpm -qa コマンドを実行して確認するのが確実です。

[root@filesv01 ~]# rpm -qa | grep samba
samba-common-3.0.8-0.pre1.3
samba-client-3.0.8-0.pre1.3
※samba-commonおよびsamba-clientパッケージがインストールされています

通常の構成では、このように samba-common と samba-client という2行が出力されることが多いはずです。しかし、この状態ではSamba本体はインストールされていません。実は、Sambaは以下のように複数のパッケージ(RPMファイル、以下Samba関連パッケージと呼称します)から構成されています。最低でもsambaパッケージがインストールされていないと、Sambaサーバは機能しません。

パッケージ名 GUIからの
インストール可否
説明
samba-common Yes(※) Sambaの共通プログラム/ファイル(smb.confなど)
samba Yes Sambaのサーバプログラム(smbd/nmbdなど)
samba-client Yes Sambaのクライアントプログラム(smbclientなど)
samba-swat No SWAT関連(swatなど)
system-config-samba-1.2.21-1 Yes Fedora Core 3に付属するSamba設定ツール

※: 明示的に指定することはできませんが、パッケージ間の依存関係のため、sambaをインストールすると自動的にインストールされます。


以下Samba関連パッケージのインストール方法について説明しましょう。

なお、インストール時に「インストールの種類」画面で「サーバー」を選択した場合はデフォルトでSamba本体(sambaパッケージ)やSambaサーバー設定ツール(system-config-sambaパッケージ)もインストールされていますが、後述するSambaのWeb設定ツールであるSWAT(samba-swatパッケージ)はインストールされていません。SWATで管理を行なわない場合はsamba-swatパッケージはなくても構いませんが、インストールしたい場合は、以下で説明する方法にしたがってインストールを行ってください。


Samba関連パッケージのインストールとアップレード

Samba関連パッケージがインストールされていなかった場合は、Fedora Core 3のCD-ROMやDVD-ROMなどからインストールを行うか、次で説明するように、インターネット上から最新版のインストールを行います。CD-ROMからインストールを行う場合は、以下のように順に操作を行っていきます。これでCD-ROMからSamba関連のパッケージが全てインストールされます。

[root@filesv01 ~]# mount /media/cdrom
[root@filesv01 ~]# cd /media/cdrom/Fedora/RPMS
[root@filesv01 RPMS]# ls *samba* 
samba-3.0.8-0.pre1.3.i386.rpm         samba-swat-3.0.8-0.pre1.3.i386.rpm
samba-client-3.0.8-0.pre1.3.i386.rpm  system-config-samba-1.2.21-1.noarch.rpm
samba-common-3.0.8-0.pre1.3.i386.rpm
[root@filesv01 RPMS]# rpm --replacepkgs(※) -Uvh *samba*
Preparing...                ########################################### [100%]
   1:samba-common           ########################################### [ 20%]
   2:samba                  ########################################### [ 40%]
   3:samba-client           ########################################### [ 60%]
   4:samba-swat             ########################################### [ 80%]
   5:system-config-samba    ########################################### [100%]

※: --replacepkgsオプションがない場合、インストールされているパッケージとアップデートしようとしているパッケージのバージョンが同一だと、RPMコマンドが失敗します。

ただし、最近は各種セキュリティホールの発見により頻繁にアプリケーションのバージョンアップが行なわれています。残念ながらSambaも例外ではなく、記事執筆時点でもCD-ROMに収録されているパッケージと最新版のパッケージとには差異があります。このため、すでにSambaがインストールされていた場合も含め、可能であればインターネット上から最新版のパッケージを取得、アップデートすることを推奨します。

これはSambaに限った話ではなく、Apacheやsendmailなどサーバアプリケーションすべてについていえることです。不特定多数からアクセスがあるインターネットサーバーの場合、この作業は「必須」です。Sambaが実行される社内ファイル・サーバーの場合も随時アップデートを行うことが望ましいのですが、敢えて「必須」という表現は外しました。

インターネットから最新版のSamba関連パッケージのインストールやアップデートを行う場合は、yumコマンド、up2dateコマンド、aptコマンドが使えますが、ここではFedora Core 3標準のyumコマンドの場合に付いて説明します。

ファイル・サーバーからHTTPプロキシサーバーを経由せずにインターネット上のWebサイトにアクセスできる場合は、以下のようにyum updateに続いてインストールしたいパッケージ名を指定するだけで、そのパッケージのインストールに必要な依存パッケージをyumコマンド側で自動的に認識して、最終的にインストール対象のパッケージのインストールを行ってくれます。

[root@filesv01 ~]# rpm --import /usr/share/rhn/RPM-GPG-KEY-fedora ←最初にyumコマンドを使用する前に1回だけ行うこと
[root@filesv01 ~]# yum update system-config-samba ← system-config-sambaパッケージのアップデート
Setting up Update Process
Setting up Repo:  base
repomd.xml                100% |=========================| 1.1 kB    00:00
Setting up Repo:  updates-released
repomd.xml                100% |=========================|  951 B    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 797 kB    00:01
MD Read   : ################################################## 2623/2623
base      : ################################################## 2622/2622
primary.xml.gz            100% |=========================| 300 kB    00:00
MD Read   : ################################################## 738/738
updates-re: ################################################## 738/738
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for system-config-samba to pack into transaction set.
system-config-samba-1.2.2 100% |=========================|  23 kB    00:00
---> Package system-config-samba.noarch 0:1.2.28-0.fc3.1 set to be updated
--> Running transaction check

Dependencies Resolved
Transaction Listing:
  Update: system-config-samba.noarch 0:1.2.28-0.fc3.1
Is this ok [y/N]: y ←パッケージを本当にインストールするかを聞いているので「y」を入力
Downloading Packages:
system-config-samba-1.2.2 100% |=========================| 204 kB    00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating: system-config-samba 100 % done 1/2
Completing update for system-config-samba  - 2/2

Updated: system-config-samba.noarch 0:1.2.28-0.fc3.1
Complete!
[root@filesv01 ~]# yum update samba samba-common samba-swat samba-client
(以下出力は省略)

※はじめてyumコマンドを使用する場合は初期化に若干時間が掛かりますが異常ではありません。

HTTPプロキシ経由でのアクセスが必要な環境の場合は、環境変数http_proxyにHTTPプロキシのIPアドレスやホスト名とポート番号を設定します。例えば、HTTPプロキシのIPアドレスが192.168.1.1でポート番号が8080の場合は、yumコマンドの実行前に以下のような設定を行ってください。

[root@filesv01 ~]# export http_proxy=http://192.168.1.1:8080/(※)
[root@filesv01 ~]# yum update samba-client
※: tcshなどcsh系のシェルを用いている場合は、「setenv http_proxy http://192.168.1.1:8080/」と入力します。

HTTPプロキシを経由してもインターネットにアクセスできない環境においてSambaの最新版をインストールしたい場合は、Fedora Core 3のWebサイトなどから最新版のパッケージをダウンロードした上で、なんらかの方法でFedora Core 3上にパッケージを転送した上で、前述したようにRPMコマンドを用いてインストールを行ってください。

ファイアウォールの設定

lokkitを起動したところ

Fedora Core 3では、セキュリティ強化のため、デフォルトの設定でインストールを行うと、ファイアウォール機能が有効になっています。この機能はインターネットサーバとしての使用を意識したものとなっていますので、そのままではWindowsマシンからSambaサーバにアクセスすることができません。従って何らかの設定変更が必須です。

設定方法は幾つかありますが、ここではコマンドラインからでもGUI的な設定が可能なlokkitコマンドを使う方法を説明しましょう。コマンドラインから「lokkit」と入力すると、右のような画面が現れます

「カスタマイズ」ボタンを押すと現れる画面

必要最低限のポートだけをオープンしたいという場合は、「カスタマイズ」ボタンを押すと現れる右の画面で、「その他のポート」欄に以下のように入力してください。

445:tcp,139:tcp,138:udp,137:udp,901:tcp
※SWATを用いない場合、901:tcpは不要

上記のように入力する代わりに「信頼できるデバイス」欄のインタフェース(eth0など)をチェックすることもできますが、この場合、そのLANインタフェースに関してファイアウォール機能が無効になります。LANカードが複数接続されているマシンでない限り、これはセキュリティレベルを無効にしたのと同じ意味になりますので、注意してください。

iptables --listコマンド

設定が反映されているかどうかは右のようにiptables --listコマンドで確認できます。

図では、netbios-ssn(139/tcp), netbios-dgm(138/udp), netbios-ns(137/udp)といったポートがACCEPTになっていることが確認できます。


なお、デスクトップの[アプリケーション]-[システム設定]-[セキュリティ レベルの設定]を開くと表示される「セキュリティレベルの設定」画面から同様の設定を行うことも可能です。

「セキュリティレベルの設定」画面

SE Linuxの設定

Fedora Core 3ではセキュリティ強化の一貫としてSE Linuxという機能がデフォルトで有効になっています。しかしSE Linuxを有効にした状態で、ファイル・サーバーを適切に運用するには相応の知識が必要となりますので、初心者の方での運用は難しいでしょう。そのため、ここではSE Linux機能を無効にする方法を紹介します。SE Linux機能を無効にしてもFedora Core 2のデフォルト状態と同様になるだけで、それ以上にセキュリティが低下することはありません。

SE Linux機能を無効にするには、/etc/selinux/configファイルのSELINUX行を以下のように設定します。なおインストール時にSE Linux機能を無効にしてインストールした場合、以下の設定は既に行われています。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled ←disabled以外の場合は、disabledに変更する
# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

SE Linuxの設定も、デスクトップの[アプリケーション]-[システム設定]-[セキュリティ レベルの設定]から行うことが可能です。

SWATのインストールと構成

SWATはSambaの設定や管理をWebから行なうためのツールでSambaに同梱されています。SWATを使用することで、簡単な設定や管理であればLinux上で行なう必要がなくなります。SWATには問題点もありますので、すべての環境での使用を推奨するものではありませんが、初心者やLinuxに不慣れな管理者にとっては便利なツールですので、本稿ではSWATを用いて設定を行なう方法を紹介します。

SWATを使用するには前述したようにsamba-swatパッケージをインストールしておく必要があります。ただし、それだけではSWATが使用可能になりません。Windowsなど別端末のブラウザから接続する際には、前述したファイアウォールの設定でSWATが通常使用するポート(901/tcp)をオープンした上で、/etc/xinetd.d/swatファイルを修正して端末からの接続を許可する設定が必要です。

デフォルトではlocalhostからのアクセスのみが許可されていますので、以下のようにonly_from行を追加してSWATへの接続を許可するIPアドレスを追加します。

# 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
        only_from += 192.168.1.0/24 ← この行を追加
        user    = root
        server  = /usr/sbin/swat
        log_on_failure  += USERID

        disable = no ← yesをnoに変更
}
※上記は192.168.1.0~192.168.1.255からの接続を許可する場合の例

修正後は以下のようにして設定を反映させます。

[root@filesv01 ~]# chkconfig swat on
[root@filesv01 ~]# service xinetd reload
Reloading configuration:                                   [  OK  ]
SWATの起動画面

まずは、WindowsマシンからWebブラウザで接続してみましょう。認証を求められますので、Fedora Core 3側のrootユーザとそのパスワードを入力してください。右のような画面が表示されればインストールは成功です。

ただし、Samba関連パッケージをCD-ROMからインストールしてからアップデートしていない場合などに用いられる、samba-swat-3.0.8-0.pre1.3という古いSWAT(samba-swatパッケージ)の場合、このままではこれ以外の画面で文字化けが発生してしまいます。

この場合は/etc/samba/smb.confファイルを開いて、以下のように「display charset = UTF-8」という1行をworkgroup行の下などに追加しておくことによりSWATの文字化けを防ぐ必要があります。

# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
(中略)
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not made any basic syntactic errors.
#
#======================= Global Settings =====================================
[global]

# workgroup = NT-Domain-Name or Workgroup-Name
        workgroup = HOME
        display charset = UTF-8 ←この行を追加

# server string is the equivalent of the NT Description field
        server string = Samba Server
(以下省略)

なお、古いSWATパッケージから新しいSWATパッケージにアップデートした場合は、必ず/var/cache/sambaにあるlang_ja.tdbというファイルを一度削除して、SWATの日本語メッセージのキャッシュを再構築するようにしてください。

SWATの画面上部にある「Globals」、「Shares」といったメニューをクリックすることで、Sambaの設定を行なうことが可能です。各々のメニューの意味については以下を参照してください。詳細については順次説明を行なっていきます。


アイコン名 説明
HOMES 各種ドキュメントの閲覧
GLOBALS Samba全体を設定する[global]セクションの設定
SHARES 各ファイル共有の設定
ユーザホーム機能を実現する [homes] セクションの設定
PRINTERS 各プリンタ共有の設定
OSが定義したプリンタを共有する [printers] セクションの設定
WIZARD ウィザード形式によるSambaの設定
残念ながら、日本語環境には対応していません
STATUS Sambaデーモンの起動と終了
アクセス状況の表示、セッションの 強制切断も可能
VIEW smb.confファイルの内容表示
PASSWORD Sambaユーザの追加や削除、パスワードの変更
リモートマシンに対する操作も可能

コラム:SWATの注意点と使用の指針

Webブラウザによる簡易な設定を実現するSWATですが、実際の使用に当たっては注意が必要です。以下SWATを使用することによる問題点を列挙します。

  • 設定ファイルを上書きしてしまう
SWATで設定を行なうと、設定ファイルが再生成され、コメント行やデフォルト設定のままの行が削除されてしまう他、パラメータの並び順なども「整頓」されてしまいます。
このため、smb.confファイルを修正して設定を行なっている場合、SWATでの設定は行なわないようにしてください。
  • セキュリティが脆弱
SWATで設定を行なうためには基本的にSambaサーバ上でroot権限を持つアカウント(通常root)でSWATに接続を行なう必要があります。ただし、SWAT自身はパスワードの暗号化処理などは行ないませんので、このままではアカウントのパスワードがネットワーク上に送出されてしまいます。これを防ぐには、以下のような対策を行なう必要があります。
  1. 必ずSambaサーバ自身から接続し、ネットワーク上にSWATの通信を流さない
  2. stoneやsshなどを用いてネットワーク上の処理を暗号化する
  3. やはりSWATを使わず、直接smb.confを編集する
今回の記事では、なるべく設定を簡単にするために、WindowsマシンからInternet ExplorerでSambaサーバー上のSWATにアクセスする例を紹介していますが、セキュリティ上はSambaサーバー上のWebブラウザからアクセスすることを強く推奨します。
  • includeなどのパラメータに対応していない
includeやconfig fileといった別のファイルを動的に読み込むパラメータには対応していません。
また、SWATを使うことで、viなどLinux上の各種ツールが使えなくてもsmb.confファイルの編集が可能となりますが、smb.conf中の各パラメータをどのように設定すべきかについての知識が不要となるわけではありません。
これらの点を考慮しますと、初心者が簡易に設定を行なう目的であればSWATを使用した設定でよいと思いますが、本格的に使用していく場合はsmb.confの直接編集を行なった方がよいでしょう。


Sambaの起動とWindowsマシンからの接続

Sambaのインストールが完了したところで、とりあえずSambaを起動してWindowsマシンから接続を行なってみましょう。

ここではFedora Core 3上にdamedameというパスワードのmonyoというユーザを作成して、Windowsマシンからは、このmonyoというユーザでアクセスする場合を例にとって説明します。

Sambaユーザの作成

Windowsマシンからアクセスを行なうためには、Fedora Core 3側でアクセス時に使用するSambaユーザを作成しておく必要があります。Sambaユーザを作成する際には必ず対応するユーザがLinux上に存在している必要がありますので、先にLinux上でユーザを作成しておきます。作成方法はいろいろありますが、コマンドラインから行なう場合はrootユーザで

# useradd monyo

のようにuseraddコマンドを使って作成しておけばよいでしょう。もちろんすでに存在しているユーザをそのまま流用することもできます。なおSamba経由でしかLinuxマシンに接続しないのであれば、パスワードを設定する必要はありません。

SWATによるSambaユーザの作成

ついでSambaユーザを作成します。SWATで行なう場合はPASSWORDメニューを選択すると現れる画面で、右のように「ユーザ名」欄に作成したいSambaユーザ(ここではmonyo)、その下の新パスワード欄にパスワードを二度入力した上で、「新規ユーザ追加」ボタンを押します。作成が成功すると、ボタンの下に

Added user monyo.

というメッセージが表示される筈です。なおコマンドラインから行なう場合は

smbpasswd(もしくはpdbedit) -a monyo

と入力した上で、後は指示にしたがってください。

Sambaユーザを作成する際にはSamba本体は停止していても構いません。またSambaユーザの作成は直ちに反映されますので、Sambaを再起動したりする必要はありません。

Sambaの起動と停止

Fedora Core 3では、Sambaのインストール時点で、ディストリビューション標準の方法によるSambaの制御が可能な状態になっています。

インストール時点ではSambaは起動していませんので、まずSambaを起動させましょう。Sambaの起動、停止は以下のようにコマンドラインからserviceコマンドを用いて行うことができます。

[root@filesv01 ~]# service smb start
SMB サービスを起動中:                                      [  OK  ]
NMB サービスを起動中:                                      [  OK  ]
[root@filesv01 ~]# service smb stop
SMB サービスを停止中:                                      [  OK  ]
NMB サービスを停止中:                                      [  OK  ]
[root@filesv01 ~]#

この設定はデスクトップの[アプリケーション]-[システム設定]-[サービス]から行うことも可能です。

ただし、単にSambaを起動しただけでは、OSを再起動するとSambaは停止したままになってしまいます。そのため、以下のようにコマンドラインからchkconfigコマンドを用いてLinux起動時にSambaが自動起動するように設定しておくことを忘れないようにしてください。

# chkconfig smb on     ← 自動起動させる
# chkconfig --list smb ← Sambaの起動状態の確認
smb             0:off   1:off   2:on    3:on    4:on    5:on    6:off
                                  ↑ on になっていることが確認できる

Sambaの自動起動を止めたい場合は、以下のように設定、確認を行います。

# chkconfig smb off    ← 自動起動させない
# chkconfig --list smb
smb             0:off   1:off   2:off   3:off   4:off   5:off   6:off
                                  ↑ off になっていることが確認できる

この設定は、コマンドラインからntsysvコマンドを起動することにより対話的に行うことも可能です。

●Sambaがうまく動作しない場合のトラブルシューティング

ここまでの設定を順番に行なっていけば、Sambaへの接続は問題なくできる筈ですが、どうしてもうまくいかないという方は以下を参考にして、トラブルシューティングを行なってみてください。

○ファイアウォールやセキュリティの設定を確認する

インターネットからの不正なアクセスを防御してくれるファイアウォールですが、Sambaにとって本来必要な通信も遮断してしまう厄介な機能でもあります。
メーリングリストなどでもうまくつながらないといった原因のかなりのものがWindows上でパーソナルファイアウォールが実行されていることによるものです。初心者の方の場合、ファイアウォールを無効にして確認を行なったつもりが実は無効になっていなかったという場合もあるので、どうやってもつながらない場合は、一度ファイアウォールをアンインストールして試してみてください。
なおLinux側でファイアウォールが有効になっている場合も問題が発生します。前述したlokkitコマンドなどによりファイアウォール機能を無効にできますので、Sambaへの接続がうまくいかないときは試してみてください。また、念のため/etc/selinux/config ファイルの内容も今一度確認してみましょう。

○TCP/IPレベルの接続を確認する

Sambaの設定が適切に行なわれていても、基本となるTCP/IPの設定に誤りがあっては、当然接続できません。DHCPを使用していない場合はIPアドレス、サブネットマスクなどの設定を確認してください。
目視確認を行なったら、

1) WindowsおよびLinux上で


ping <相手マシンのIPアドレス>


を実行して互いに反応があることを確認する。

2) Windows上で


nbtstat -A <LinuxマシンのIPアドレス>


を実行して、図xx32のような出力が得られることを確認する。


図xx32: nbtstatコマンドの表示例 C:\>nbtstat -A 192.168.135.13

Node IpAddress: [192.168.135.1] Scope Id: []

          NetBIOS Remote Machine Name Table
      Name               Type         Status
   ---------------------------------------------
   FILESV01       <00>  UNIQUE      Registered
   FILESV01       <03>  UNIQUE      Registered
   FILESV01       <20>  UNIQUE      Registered
   ..__MSBROWSE__.<01>  GROUP       Registered
   MYGROUP        <00>  GROUP       Registered
   MYGROUP        <1D>  UNIQUE      Registered
   MYGROUP        <1E>  GROUP       Registered
   MAC Address = 00-00-00-00-00-00 

(nbtstat01.bmp)


といった確認を行なってください。1)がうまくいかない場合はTCP/IPレベルの設定に問題があります。2)がうまくいかない場合は、Sambaが起動していない、ファイアウォールが有効になっているといった原因が考えられます。

なお、ファイアウォールが有効になっていると、pingコマンドに失敗してもSambaでは接続できてしまうといったケースがありますので、トラブルシューティングの観点からは、予めファイアウォール機能を無効にした状態で確認を行なった方が確実です(注xx33)。

注xx33: 本記事では図xx1のような内部ネットワークを想定しています。ルータなしにインターネットにマシンが直結されているような環境では安直にファイアウォールを無効にするのは危険ですので、必ずインターネットとの接続を切断した状態で確認を行ない、最終的にインターネットに再接続する前には、Sambaの通信に不要な通信は元通り遮断する設定を行なう必要があります。


○Sambaユーザ名とパスワードを確認する

図xx27のダイアログボックスが表示される場合は、Samba自体はきちんと動作していますので、Linuxマシン上に作成したSambaユーザのユーザ名やパスワードを確認してください。

●Sambaの設定入門

ここまではSambaを動作させることを最優先にして説明を行ってきました。動作確認ができたところで、いよいよSambaの設定を行なっていきましょう。
Sambaの設定方法としては、大きくSWATを使用してsmb.confファイルを修正する方法と/etc/sambaにある図xx34のようなsmb.confファイルを直接修正する方法とがあります。本格的に使用する場合は、直接編集による設定変更をお勧めしますが、ここでは簡単に設定が行なえるSWATの使用を前提に設定方法について説明します。いずれの方法で設定を行なった場合も、設定が完了したら基本的にSambaを再起動するようにしてください(注xx35)。

図xx34: smb.confファイル (smb-conf.bmp)


注xx35: 実際は再起動されなくても反映される設定もありますが、無用の混乱を避ける意味でSambaの再起動を推奨します。