FreeBSD7でfuse-sshfsを使う

sshでアクセスできるホストのディレクトリをローカルホストのディレクトリにマウントするsshfsを導入してみた.そのときのインストールメモ.環境は,FreeBSD7-Release.
portsからインストール.

# cd /usr/ports/sysutils/fusefs-sshfs
# make install

fusefsを起動できるように /etc/rc.conf に以下を記述.

# vi /etc/rc.conf
fusefs_enable="YES"

これで次回以降起動するときに,自動的に fuse.ko が読み込まれる.
再起動かけるのが面倒なので手動で起動する.

# /usr/local/etc/rc.d/fusefs start

kldstat で fuse.ko が読み込まれていることを確認.

一般ユーザーで使えるようにする.

/dev/fuse* の permission は root:operator 0660 なので root か operator に所属していないとアクセスできない.そのため一般ユーザーでもアクセスできるように permission を変更する.
/etc/devfs.conf に以下を記述.*1

perm    fuse*   0666

記述後,以下を実行.

# /etc/rc.d/devfs start

マウントをできるように以下を実行.*2

sysctl vfs.usermount=1

この設定は再起動すると消えるため,それが嫌なら /etc/sysctl.confに以下を記述.

vfs.usermount=1

ここまで設定すると sshfs でリモートマウントができるようになる.

マウントとアンマウント

ローカルディレクトリ ~/mnt に リモート remote.example ,ユーザーhogeをマウントする例

sshfs  hoge@remote.example: ~/mnt

アンマウントは通常と同じで

umount ~/mnt

*1:内部的には,chmod 666 fuse* を実行しているだけみたいなので直接 chmod してもよいかも.

*2:vfs.usermountが1に設定されていると一般ユーザーがファイルシステムをマウントできるようになる.