= 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にてひとまとめに行われるにもかかわらず、サーバプロセス自体は別なのである。
== 設定 ==
以下を参考
* [[http://ameblo.jp/teteig/entry-10191970488.html]]
=== global設定 ===
* guest account<
>共有にゲストとしてアクセスする際のアカウント。デフォルトはnobody。
=== 共有の設定 ===
* guest okあるいはpublic<
>共有へのアクセスの際にパスワードを不要にする。
* guest onlyあるいはonly guest<
>guest okあるいはpublicが指定されていないと意味が無い。必ずゲストとしてアクセスする。この指定が無いと、例えばfoobarという共有にアクセスする際には、foobarというアカウントがチェックされるようだ。
* writeable(read onlyの逆)<
>yesにしておくと、書き込みが可能になる。
=== マスタブラウザにする ===
本サーバをマスタブラウザにするのに必要な設定と(一見必要そうだが)不要な設定。
* local master<
>これはデフォルトでYesであるので、Noの場合にのみ設定する意味がある。Noの場合は決してマスタブラウザにならないが、Yesの場合でもなるとは限らない。
* preferred master<
>Yesにするとnmbの起動時に若干マスタブラウザに選択される機会が増える(?)というもの。マスタブラウザに選択される決定的な要因ではない。
* os level<
>値を大きくすると、マスタブラウザに選択される機会が増加する。65あたりを指定すると必ずマスタブラウザに選定される模様。win9Xでは16、NT系列では32という数字の模様(Win9Xの場合に1というのは間違いとのこと)。
== チェック ==
クライアント(Win7)側でのチェック
=== net viewコマンド ===
コマンドプロンプトにて「net view」を投入。
サーバ側の名前解決ができているのであれば、リストにサーバのnetbios名が表示される。
=== nbtstatコマンド ===
サーバに対して、「nbtstat -a netbios名」あるいは「nbtstat -A ipアドレス」を投入。
サーバがマスタブラウザであるかを調べることができる。
== 参考 ==
* [[http://social.technet.microsoft.com/Forums/ja/windowsserver2003ja/thread/87c69c40-a7cc-46a2-afa0-aa91dc9f8607]]
* [[http://www.samba.gr.jp/doc/browsing/browsing01.html]]