Locked History Actions

Diff for "samba"

Differences between revisions 7 and 8
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
 * サーバはCentOS6
 * クライアントはWindows7
Line 50: Line 52:

クライアント(Win7)側でのチェック


=== net viewコマンド ===

コマンドプロンプトにて「net view」を投入。
サーバ側の名前解決ができているのであれば、リストにサーバのnetbios名が表示される。

=== nbtstatコマンド ===

サーバに対して、「nbtstat -a netbios名」あるいは「nbtstat -A ipアドレス」を投入。
サーバがマスタブラウザであるかを調べることができる。

samba

長年sambaを使っているが、その設定方法はいまだに謎である。 sambaがこれだけわかりずらい原因は、おそらくMSのおかしなネットワークプロトコルにあると思われる。 ここでは、最も単純な設定方法を追求してみる。

前提条件

  • サーバはCentOS6
  • クライアントはWindows7
  • サーバはLAN内にあり、外部には一切公開しない。
  • アクセスコントロールはしない。LAN内の全員が全共有にアクセス可能。
  • ドメインは使わない。ワークグループのみ。
  • LAN内の共有サーバをマスタブラウザとする。
  • LAN内にDNSサーバは無い。

準備

以下をやっておかないと、sambaの設定以外の部分で苦しむことになる。

SELinuxを切る

CentOSのデフォルトのインストールでは、これがON(enforcing)になっており、このデフォルト状態ではSamba側の設定をどうしようと共有にアクセスできない。かといって、SELinux側にどのような設定をすべきかもわからない。外部からの侵入の心配は無いので、SELinuxは切っておく。

※どうやっても共有ファイルにアクセスできないので、これを知らないとかなりハマることになる。

ファイアウォールを切る

これもデフォルトでONになっているので、切っておく。

サービスを起動する

  • chkconfig smb on
  • chkconfig nmb on
  • service smb start
  • service nmb start

以前のCentOSではsmb(共有サービス)を起動すると自動的にnmb(netbios名前解決サービス)も起動するようになっていたと記憶しているのだが、少なくともCentOS6では別途起動しないといけないらしい。

smbのみでは、共有サービス自体は有効になるのでIPアドレスでのアクセス、例えばWindows側から「dir \\192.168.0.100\public」などとするとアクセスは可能だが、ホスト名(netbios名)でのアクセス、例えば「dir \\hostname\public」はできない。

ここがsambaの妙なところである。共有サービスの設定も、名前解決サービスの設定も/etc/samba/smb.confにてひとまとめに行われるにもかかわらず、サーバプロセス自体は別なのである。

設定

以下を参考

チェック

クライアント(Win7)側でのチェック

net viewコマンド

コマンドプロンプトにて「net view」を投入。 サーバ側の名前解決ができているのであれば、リストにサーバのnetbios名が表示される。

nbtstatコマンド

サーバに対して、「nbtstat -a netbios名」あるいは「nbtstat -A ipアドレス」を投入。 サーバがマスタブラウザであるかを調べることができる。