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!!
出来た!!