Virtual PC に Debian Etch (r4.0) を入れる
sshfsでfuseの威力を思い知ったので、これのSambaサポートがあるはずだと探してみたところ、そのままズバリの名前 fusesmb というのがあった。 fuse + sshfs が入っている環境だと、Synaptic Package Managerを使って あっという間にインストール完了。
GNOME Nautilus のファイル・ブラウザは、Windows サーバーの共有フォルダをそのままアクセスできるようになっているのだが、emacsで直接開きたいとか、スクリプトで処理したいったような場面では、mountしてあった方が圧倒的に使いやすい。一昔前なら mount -t smbfs //server/share /mnt/share といった操作を root でやる必要があり、ユーザー権限の管理で面倒なことになっていた。ユーザー権限のfuseを使ったマウントだと、クライアントPCからサーバーにアクセスするのと同じなので管理が楽になる。
/usr/share/doc/fusesmb/examples/fusesmb.conf.ex を参考に Windows Server へアクセスするときのユーザー名とパスワードを設定する。サーバーごとに別のユーザー名やパスワードを設定することも可能。
$ mkdir ~/.smb $ cd ~/.smb $ cat >fusesmb.conf [global] username=otsuka password=secret timeout=10 interval=10 ^D $ chmod 600 fusesmb.conf $ cd .. $ mkdir ~/mnt/win $ fusesmb ~/mnt/win
これで、ls -l ~/mnt/win とすると、‘ワークグループ(ドメイン)名/サーバー名’というフォルダからそれぞれの共有フォルダにアクセスできるようになる。
日本語のフォルダ名やファイル名も Unicode で処理されているようで問題無さそうだ。
Windowsでブラウザから辿れないサーバーは、「ファイル名を指定して実行」で \\server.domain.local\share というようにして開いているのだが、これを fusesmb でアクセスする方法が不明だ。