Samba

Sambaとは、Windowsの『共有』と似た機能を持つサーバソフトウエアです。イメージとしては、ネットワークHDDを連想してもらえれば分かりやすいはずです。プリンター(サーバ)の設定等も出来るのですがここでは説明していません。

セキュリティ関連で色々と言われる事が有りますが、基本的には家族(LAN内の初心者)で使う事を想定しているため、ユーザー作成やらパスワード入力をするような設定にはしていません。

 

☆ インストール

2017/12現在、portsでのインストールの場合、4.4、4.5、4.6、4.7のバージョンが選べるようです。

此処に書いている内容はバージョン4.3の時に作成したものですが、4.4、4.6、4.7で下記内容で問題なく動作する事を確認しています。

インストールは、現時点での最新版、4.7にしています。

cd /usr/ports/net/samba47
make config-recursive
make install clean && rehash

☆ rc.confの設定

vi /etc/rc.conf
samba_server_enable="YES"

 

☆ smb4.confの作成

Samba43からなのか、インストールしただけでは初期設定ファイルもサンプルファイルも作成されません。

最初の起動で設定ファイルが作成されるものも有るので、そのままSambaを起動してみても『/usr/local/etc/smb4.conf』が無いと言うエラーメッセージが表示されるので、自力で設定ファイルを作成します。

vi /usr/local/etc/smb4.conf
[global]
workgroup = WORKGROUP
server string = Samba Server
security = user
map to guest = Bad User
load printers = no

display charset = UTF-8
unix charset = UTF-8
dos charset = cp932
max protocol = SMB2

[samba-hdd]
path = /root/samba/
guest ok = yes
hosts allow = 192.168.1.
create mask = 777
directory mask = 777
writable = yes
force user = root

vfs objects = recycle
recycle:repository = delete
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:maxsize = 0

[global]
全体に影響を与える設定です。この例の場合は[samba-hdd]までに書かれた内容が、その設定になります。

workgroup = WORKGROUP
ネットワークの設定です。LAN内のPCでワークグループ名を統一すれば、ほんの少しだけ幸せになれるかもしれませんが、Windowsのバージョンによって名前が違ってたりするので、実際の所、何を設定しても意味が無いかもしれません。
通信速度には影響しないはずです。

server string = Samba Server
Windowsからネットワーク上のHDDの説明として表示されます。
Windows10では表示されません。

security = user
sambaのセキュリティモードの設定です。

map to guest = Bad User
ゲストユーザーのアクセスを拒否します。

load printers = no
プリンターを使うかどうかの設定です。

display charset = UTF-8
unix charset = UTF-8
dos charset = cp932
文字化け対策です。

max protocol = SMB2
通信プロトコルの設定です。Windows7以前の環境しか無いなら設定しておく。Windows8以降が多いなら、設定しないかSMB3を設定すると、ほんの少し通信速度が早くなるらしい。

[samba-hdd]
個別設定。名前と使用範囲が被らなければ、いくつでも設定出来る。
これ以下に、個別設定を追記していく。

path = /root/samba/
ネットワークから見えるディレクトリ。

guest ok = yes
ゲストのアクセスを許可する設定。

hosts allow = 192.168.1.
アクセスを許可するIPアドレス。
dhcpdなどから特定PCに割り振るIPアドレスを固定するなんて設定をした場合、領域を個別設定をすることも出来る。

create mask = 777
directory mask = 777
writable = yes
force user = root
ファイルとディレクトリの許可。
ファイルやディレクトリの作成や削除を許可する。

vfs objects = recycle
recycle:repository = delete
recycle:keeptree = yes
recycle:touch = yes
recycle:versions = yes
recycle:maxsize = 0
ゴミ箱の設定。ここではSamba領域上のファイルが削除された時『delete』と言うディレクトリに移動する設定になっているが、通常(?)は『.delete』のようにディレクトリ名の最初に『.』(ドット)を付けて隠しディレクトリにしたりする。
ゴミ箱が設置されるのは、Samba領域の一番上のディレクトリになる。
ゴミ箱を設置すると、定期的に削除しなければならなくなるので、面倒だと思ったら設定箇所をゴッソリと削除してしまえば良い。

 

☆ Sambaの起動・停止・再起動

/usr/local/etc/rc.d/samba_server start

起動

 

/usr/local/etc/rc.d/samba_server stop

停止

 

/usr/local/etc/rc.d/samba_server restart

再起動

 

☆ Windowsからの確認

Windows10での確認。
テキトウなフォルダを開き、ナビゲーションウインドウから『ネットワーク』を選択。
『コンピューター』の中の表示に、操作しているPCと、SambaをインストールしたPCが表示されているか確認。
SambaをインストールしたPCを開き、個別設定で設定した名前(例では[samba-hdd])と書かれているフォルダーが有ることを確認。
表示されているフォルダを開けるか確認。

ここまでの確認で問題なければ、次はファイルやフォルダーの送信や削除、設定しているならゴミ箱にファイルが移動しているかの確認などをする。

一通りの動作確認が出来たら、後はネットワークドライブに割当をしてやれば、普通のHDD同様に扱えるようになります。ネットワークドライブの割当は、Samba領域として表示されているフォルダーをマウス右クリックし『ネットワークドライブの割り当て(M)』から行えます。

 

役に立ちましたか?
  • 役に立った (1)
  • 少しだけ (0)
  • これじゃない! (0)