Mac OS X Mountain Lion の ファイル共有機能を Samba3に入れ替え

Mac OS X Mountaion Lionでは、ビルトインのSMBファイル共有機能があるが、
Sambaでは無くアップルの独自ソフトウェアが採用されている。
Sambaを取り去ったOS X Lion、その影響は…… - builder

ビルトインのSMBファイル共有機能で
・外付けHDDが書き込み可能な状態で共有できない
Windowsクライアントからアクセスした際に、シンボリックリンクがたどれない
などが解決できなかった*1ため、Samba3を導入する。

手順

1.MacPortsを導入
2.Samba3をインストール

port install samba3

3.MacPortsのバイナリ置き場にパスを通す

echo "export PATH=/opt/local/bin:$PATH" > ~/.profile

4.設定ファイルの編集

vi /opt/local/etc/samba3/smb.conf
#ワークグループ名
workgroup = WORKGROUP
#ログファイルのパス
log file = /opt/local/var/log.%m
#許可するホスト
hosts allow = 192.168.1. 192.168.2. 127.
#共有するディレクトリの設定(外付けHDDのボリューム「ExFAT1TB」の「books」ディレクトリ)
[Books]
comment=Books
path=/Volumes/ExFAT1TB/books
available=yes
guest ok=yes
create mask=644
directory mask=755
writable=yes

5.デーモンを管理するlaunchdのSMBD用設定ファイルを作成

vi /Library/LaunchDaemons/org.samba.smbd.plist

        • -



Label
org.samba.smbd
OnDemand

ProgramArguments

/opt/local/sbin/smbd
-F

RunAtLoad

ServiceDescription
samba

        • -

6.launchdのNMBD用設定ファイルを作成

vi /Library/LaunchDaemons/org.samba.nmbd.plist

        • -



Label
org.samba.nmbd
OnDemand

ProgramArguments

/opt/local/sbin/nmbd
-F

RunAtLoad

ServiceDescription
netbios

        • -

7.ビルトインのNETBIOSサーバー機能を停止

sudo launchctl stop com.apple.netbiosd
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist

8.SMBD、NMBDをロード

sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist
sudo launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist

※設定ファイルを編集したら、ロードし直す。

launchctl unload /Library/LaunchDaemons/org.samba.nmbd.plist
launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist
launchctl unload /Library/LaunchDaemons/org.samba.smbd.plist
launchctl load /Library/LaunchDaemons/org.samba.smbd.plist

*1:※ビルトインのSMBファイル共有機能でも設定で解決できるのかもしれないが、見つけられなかった