Windowsとファイルを共有する (samba 3.x)

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x


はじめに

このページでは、samba 3.xを利用してWindowsとファイルを共有する方法について説明します。

「libiconv」のビルド

samba 3.xでは、ファイル名等に日本語を扱う際に、iconvと呼ばれる外部機能を利用します。

インストールはportsを利用して行います。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。

portsの展開が完了した後、下記手順で「libiconv」をmakeし、インストールします。

「libiconv」のインストール
$ cd /usr/ports/converters/libiconv
$ make config-recursive
$ make install clean

設定画面が表示されるので、「EXTRA_PATCHES」にチェックを入れてからOKを選択してください。
Samba 3.xでは、ファイルシステムの文字コード変換にlibiconvを利用しています、上記のようにすることにより、Windows上での日本語フォルダ/ファイル名が正しく表示されるようになります。

完了後、下記方法で「libiconv」が正しくインストールされているか確認してください。

「libiconv」の動作確認
$ iconv -l | grep EUCJP-MS

「EUCJP-MS」が表示されれば、libiconvは正しくmake、インストールされています。

「samba 3.x」のビルド

次に、samba 3.x本体をportsからmakeします。

「samba 3.x」のビルド
$ cd /usr/ports/net/samba3
$ make config-recursive
$ make install clean

途中、make時のオプションを選択する画面が表示されますので、必要なものを適宜チェックしてください。

「smb.conf」の設定

次に、samba 3.xの設定ファイルである「smb.conf」を編集します。
FreeBSDでは「samba.conf」は「/usr/local/etc/」に格納されていますので、エディタで下記の通り編集してください。

「smb.conf」の設定
[global]
   workgroup = kishiro.local
   server string = Samba Server (FreeBSD)
   security = share
   printing = bsd
   hosts allow = 192.168.16. 192.168.17.
   interfaces = 192.168.16.20/24
   load printers = no
   log file = /var/log/samba/log.%m
   max log size = 50
   passdb backend = tdbsam
   socket options = IPTOS_LOWDELAY
   dns proxy = no
   display charset = EUCJP-MS
   unix charset = CP932
   dos charset = EUCJP-MS

[share]
   comment = Shared Directories
   path = /home/share
   public = yes
   browseable = yes
   writable = yes
   create mode = 777

[ftp]
   comment = Anonymous FTP Directories
   path = /home/ftp
   public = yes
   browseable = yes
   writable = yes
   create mode = 777

[global]セッションでは、すべてのセッションで共有される設定を記載します。
「workgroup」はこのsamba 3.xサーバが参加するワークグループを、「server string」はWindowsのネットワークコンピュータ上で表示されるsamba 3.xサーバの説明を記述してください。

「security」は、samba 3.xのファイルの共有方法についての設定です。
「security=share」とすると、保存するファイルはすべてのユーザで共有され、すべてのユーザで追記、削除が可能になります。

「hosts allow」はこのsamba 3.xサーバに接続を許可するマシンのIPアドレス等を記述します。
「hosts allow=192.168.16. 192.168.17.」と記述すると、「192.168.16.0/24」および「192.168.17.0/24」のネットワークに存在するマシンからのみ接続が可能になります。

samba 3.xがsamba 2.xから大きく変更された点として、文字コートの扱いがあります。
「unix charset」は、それぞれsamba 3.xが動作するUNIX OS(この場合はFreeBSD)でのファイル名の符号化方式で、通常「EUCJP-MS」を指定します。
また、「dos charset」は、Windows側で使用される文字コードで、通常「CP932」を指定します。
「display charset」はSWATが表示時に利用する文字コードですので、SWATを使用しない場合には設定しなくても構いません。

次の[share]および[ftp]セッションは、共有用およびFTP用のディレクトリ設定について記載しています。
これ以外のディレクトリの設定が必要な場合は、適宜追加してください。

「inetd.conf」の設定

Linux系のOSでは、samba 3.xをinetd経由で起動する場合があるようですが、FreeBSD環境ではsamba 3.xをスタンドアロンで起動させるのが一般的です。
このため、FreeBSD環境では、「inetd.conf」の編集は不要です。

「inetd.conf」の該当個所(変更不要)
#netbios-ssn    stream tcp    nowait    root    /usr/local/sbin/smbd    smbd
#netbios-ns     dgram udp     wait      root    /usr/local/sbin/nmbd    nmbd

「rc.conf」の設定

最後に、システムの起動時にsamba 3.xが自動的に起動するよう、「/etc」に格納されている設定ファイル「rc.conf」に下記の記述を追記します。

「rc.conf」の設定
samba_enable="YES"

この設定により、システム再起動時にsamba 3.xが自動的に起動するようになります。

変更履歴

2009/03/13

・libiconvのportでmake config時に設定メニューが表示されるようになり、そこで「EXTRA_PATCHES」が設定できるようになったため、libiconvの構築方法の説明を変更。
・「smb.conf」のサンプルの[global]セッションに「printing = bsd」の記述を追加。
・「smb.conf」のサンプルに「interfaces = 192.168.16.20/24」の記述を追加、本文中に説明を追加。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image