FreeBSDからWindowsXPの共有をmountする

FreeBSD自体にはmount_smbfsがあるんだけど、-E optionによる文字コード変換で、utf-8対応がちゃんとなされておず、通常のままでは文字化けしてしまう。
http://www.mail-archive.com/freebsd-users-jp@jp.freebsd.org/msg03921.html
にあるようにpatchを当てれば使えるんだけどね。

で、今回はもっとお手軽に sysutils/fusefs-smbnetfs を使ってみた。
portsでinstallすると、あーせーこーせーとmessageを出してくれる。
で、今回やった事。

  • sudo sysctl vfs.usermount=1。ついでに、/etc/sysctl.confにも書き足す
  • fusefsがinit scriptを提供してくれてるんで、それを実行する。具体的には、/etc/rc.confにfusefs_enable="YES" を足し、sudo service fusefs starth
  • ~/.smbを作り、/usr/local/etc/smb.confと/usr/local/share/doc/smbnetfs-*/smbnetfs.confを~/.smbにcopy
  • ~/mountpoint を作る
  • smbnetfs ~/mountpoint でmount!!

って、あれ????うまくいかない。
smbnetfs.confのsmbnetfs_debugのloglevelを10まであげて再実行。
どうも、smbnetfs.confの最後で認証情報とホスト情報関係のファイルをincludeしてるのが無いと怒ってるっぽい。
とりあえず、~/.smb/smbnetfs.authと~/.smb/smbnetfs.hostをtouch。smbnetfs.authの方には

auth Windowsホスト名 vikke pass

を書いて、chmod 600しておく。

で再度、smbnetfs ~/mountpoint 実行。

fuse: failed to open fuse device: Permission denied

やっぱり怒られる。

/devを見てみるとfuse0というdeviceが生えていて、そのownerがroot:operator。
/etc/groupを編集し、vikkeをoperatorに追加して、一度logout/login。

で、smbnetfs ~/mountpoint でmount!!

出来た!!