Sambaサーバ構築
CentOSをインストールしたMac Miniに、Sambaサーバを構築します。
Fax受信データ保存用にWebDAVサーバを構築済みですが、それとは別にWindowsファイル共有用にSambaサーバを構築します。
構築環境
Sambaインストール
# yum -y install samba
必要なディレクトリを作成
# mkdir /home/shared
# chown nobody:nobody /home/shared
設定
# vi /etc/samba/smb.conf
smb.conf(文字コードはUTF-8)
[global] unix charset = UTF-8 dos charset = CP932 display charset = UTF-8 workgroup = WORKGROUP map to guest = Bad User server string = ファイル共有サーバ netbios name = miniserver hosts allow = 127. 192.168.10. smb ports = 139 security = user passdb backend = tdbsam load printers = no disable spoolss = yes cups options = raw printing = bsd [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes [Shared] comment = 共有フォルダ path = /home/shared writable = yes guest ok = yes guest only = yes vfs objects = recycle recycle:repository = .recycle recycle:keeptree = yes recycle:versions = yes recycle:touch = no recycle:maxsize = 0 recycle:exclude = *.tmp ~$*
- 最初の3行はWindows PCとの間でファイル名等が文字化けしないようにするためのものです。
- `map to guest = bad user` とすると、未登録ユーザーでも `guest ok = yes` と定義された共有(この場合[Shared])であればアクセスできるようになります。
逆にこれが無いと`guest ok = yes` や `public = yes` にしてもアクセスできません。 - `printing = bsd`は、cupsに関するエラー(Unable to connect to CUPS server localhost:631 - 接続を拒否されました)を回避するために入れました。
→Unable to connect to CUPS server localhost | ribbonの日記 | スラド - `smb ports = 139`の設定は、「lib/util_sock.c:get_peer_addr(1232) getpeername failed. Error was 通信端点が接続されていません」というエラーが記録されるのを回避する為に入れました。
→http://www.samba.gr.jp/project/translation/3.0/htmldocs/smb.conf.5.html
→解決! sambaのエラーログ: 酔いどれLinux狂[マニア] - recycle〜の部分はごみ箱機能の設定です。
→http://centossrv.com/samba.shtml
hostname確認
hostnameが「localhost.localdomain」ではWindowsからの接続がうまくいかないようです。
# hostname miniserver
# vi /etc/sysconfig/network
HOSTNAME=miniserver
Samba起動
# service smb start
# chkconfig smb on
ルーターのLAN側ポートを開ける
LAN側のUDP137(netbios), UDP138(netbios-dgm), TCP139(netbios-ssn), TCP445(microsoft-ds)ポートの通信を許可しなければなりません。(今回は、smb ports = 139 の設定があるので、TCP445は開けなくてもOK)
Windowsからアクセス
ネットワークプレイスを追加(\\192.168.100.99\Shared又は\\miniserver\Shared)でアクセス可能