sambaはactive directoryや、Windowsネットワークやドメインの機能を再現する方向で開発が進んでおり、smbpasswordが廃止されたり、winbinddが利用されたりと、動作させるための仕組みや、設定方法がだいぶ変わってきています。
その結果、samba 3.xの頃に書いた、この導入ページが全く役に立たなくなってしまいました。
ということで、このページではsamba4をFreeBSD上で誰でもアクセスできるようにする最低限の設定方法について説明します。
Windowsネットワークやドメインコントローラなどとの連携については、他所のページを見てください。
samba 4.xでも、samba 3.xと同じくファイル名等に日本語を扱う際に、iconvと呼ばれる外部機能を利用します。
インストールはportsを利用して行います。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。
portsの展開が完了した後、下記手順で「libiconv」をmakeし、インストールします。
$ cd /usr/ports/converters/libiconv $ make config-recursive $ make install clean
設定画面が表示されるので、「EXTRA_PATCHES」にチェックを入れてからOKを選択してください。
Samba 4.xでは、ファイルシステムの文字コード変換にlibiconvを利用しています、上記のようにすることにより、Windows上での日本語フォルダ/ファイル名が正しく表示されるようになります。
完了後、下記方法で「libiconv」が正しくインストールされているか確認してください。
$ iconv -l | grep EUCJP-MS
「EUCJP-MS」が表示されれば、libiconvは正しくmake、インストールされています。
次に、samba 4.x本体をportsからmakeします。
$ cd /usr/ports/net/samba41 $ make config-recursive $ make install clean
途中、make時のオプションを選択する画面が表示されますので、必要なものを適宜チェックしてください。
次に、samba 4.xの設定ファイルである「smb4.conf」を編集します。
FreeBSDでは「smb4.conf」は「/usr/local/etc/」に格納されていますので、エディタで下記の通り編集してください。
[global] workgroup = kishiro.local server string = Samba Server (FreeBSD) security = user hosts allow = 192.168.0. interfaces = 192.168.0.11/24 map to guest = Bad User guest ok = yes guest only = yes guest account = nobody load printers = no log file = /var/log/samba4/log.%m max log size = 50 dns proxy = no unix charset = CP932 dos charset = EUCJP-MS create mask = 600 directory mask = 700 printing = bsd [share] comment = Shared Directories path = /home/share browseable = yes writable = yes
[global]セッションでは、すべてのセッションで共有される設定を記載します。
「workgroup」はこのsamba 4.xサーバが参加するワークグループを、「server string」はWindowsのネットワークコンピュータ上で表示されるsamba 4.xサーバの説明を記述してください。
「security」は、samba 4.xのファイルの共有方法についての設定です。
samba 4.xでは、誰でもパスワード認証なしにアクセスできる「security=share」の設定がなくなっています。
「security=share」の代替としては、「security=user」かつ「map to guest=Bad User」の組み合わせがあります。
この設定では、ユーザ認証でコケたユーザは、guestにマップされるようになります。
このため、UNIXユーザやsambaユーザの設定をせずとも、従来の「security=share」の設定時と同じ使用感でsambaを利用可能になります。
尚、guestにマップするにはゲストアカウントを有効にする設定「guest ok=yes」が必要ですので、ご注意ください。
尚、smb4.confの設定が正しいかどうかを検証するツールとして「testparm」があります。
引数等は特に不要ですので、起動時にエラーが出る場合に使ってみてください。
samba4では、動作時にユーザ管理DBやログなどをいくつかのディレクトリに保存して管理します。
portsからインストールした直後の状態では、これらのディレクトリは存在せず、ディレクトリがないままsamba4を起動しようとするとエラーで終了するため、以下の通り必要なディレクトリを作成します。
$ mkdir -p /var/db/samba4/private $ mkdir -p /var/log/samba4
「/var/db/samba4/private」にはユーザ管理用のDBが、「/var/log/samba4」にはログファイルが格納されます。
最後に、システムの起動時にsamba 4.xが自動的に起動するよう、「/etc」に格納されている設定ファイル「rc.conf」に下記の記述を追記します。
samba_server_enable="YES"
samba 3.xの時(「samba_enable="YES"」)と違い、「samba_server_enable="YES"」ですので注意してください。
この設定により、システム再起動時にsamba 4.xが自動的に起動するようになります。
・ビルドの説明のキャプションが誤って「samba 3.xのビルド」となっていたのを修正。
ご指摘頂いた方、ありがとうございました。
・タイトルが誤って「【FreeBSD】Windowsとファイルを共有する (samba 3.x)」となっていたのを修正。
・samba4のログ格納先のディレクトリをportsデフォルトの「/var/log/samba4」変更。
・samba4の起動に必要なディレクトリの作成ついて追記。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。