samba
長年sambaを使っているが、その設定方法はいまだに謎である。 sambaがこれだけわかりずらい原因は、おそらくMSのおかしなネットワークプロトコルにあると思われる。 ここでは、最も単純な設定方法を追求してみる。
前提条件
- サーバはLAN内にあり、外部には一切公開しない。
- アクセスコントロールはしない。LAN内の全員が全共有にアクセス可能。
- ドメインは使わない。ワークグループのみ。
- LAN内の共有サーバをマスタブラウザとする。
- LAN内にDNSサーバは無い。
準備
SELinuxを切る
CentOSのデフォルトのインストールでは、これがON(enforcing)になっており、このデフォルト状態ではSamba側の設定をどうしようと共有にアクセスできない。かといって、SELinux側にどのような設定をすべきかもわからない。外部からの侵入の心配は無いので、SELinuxは切っておく。
※どうやっても共有ファイルにアクセスできないので、これを知らないとかなりハマることになる。
ファイアウォールを切る
これもデフォルトでONになっているので、切っておく。
サービスを起動する
- chkconfig smb on
- chkconfig nmb on
- service smb start
- service nmb start
以前のCentOSではsmbを起動すると自動的にnmbも起動するようになっていたと記憶しているのだが、少なくともCentOS6では別途起動しないといけないらしい。
smbのみでは、共有サービス自体は有効になるのでIPアドレスでのアクセス、例えばWindows側から「dir \\192.168.0.100\public」などとするとアクセスは可能だが、ホスト名(netbios名)でのアクセス、例えば「dir \\hostname\public」はできない。
設定
以下を参考