FrontPage

sshfs ちゃんと使ってみよう.

MacOSX

macfuse - Google Code

導入はMacFUSE-Core-10.5-1.1.1.dmg と, sshfs-1.0.0.dmg をDL & Install おわり. sshfs を起動して,適当にサーバを指定すると何も起こらないように見えたけど/Volume 以下にmount されていた. Finder では見えないよう. 他の人は見えてるみたいだ何故.

$ mount|grep sshfs
sshfs#maty@hpv.cc: on /Volumes/hpv.cc (fusefs, nodev, nosuid, synchronous, mounted by mk)

ユーザ・グループのマッピングもしてくれるみたい.

$ ls -la /Volumes/hpv.cc/
total 666624
drwx--x--x  1 mk    staff         0 11 10 14:46 .
drwxrwxrwt@ 5 root  admin       170 12  5 02:09 ..
-rw-------  1 mk    staff         0 10 25  2004 .ICEauthority
-rw-------  1 mk    staff        99  9  8  2004 .Xauthority
-rw-r--r--  1 mk    staff     23171  8 30  2004 .Xdefaults
-rw-r--r--  1 mk    staff       282  5 27  2001 .Xmodmap
-rw-r--r--  1 mk    staff       290 11 17  2003 .Xmodmap.jp
-rw-r--r--  1 mk    staff       488  4 26  2003 .alias
-rw-r--r--  1 mk    staff       513  5 30  2004 .bash_login
-rw-r--r--  1 mk    staff      4540  4  5  2004 .bashrc
--snip--

一応ls やvi やら普通に使える. たまに落ちるorz>落ちるのは皮だから接続が切れたわけではない.

ls の反応が返ってこなかったりも….

速度はかなり遅い感じ.

mount option がもっと欲しい,mount point の指定とか文字コードの指定とかポートの指定とか.
#ちゃんと調べてないからあるのかもしれない.

$ /Applications/sshfs/bin/mount_sshfs -h
mount_sshfs: illegal option -- h
[Usage] /Applications/sshfs/bin/mount_sshfs [-vLf] [-p port] user@host:[dir] /your/sshfs/mount/point

  -v: show version
  -L: follow symlink mode
  -f: foreground mode (not detach)
  -p port: port to connect to on the remote host

コマンドの方ではポート指定は可能そう. 文字コードは無さそうです….

sshfs for Mac OS X

未だ試してない.

Ubuntu 7.10 Gutsy Gibbon

パッケージが存在する. sshfs

sudo apt-get install sshfs

とすれば導入できると思う. 自分のシステムには何故かもう入っていた.

sshfs -h

で大体の使い方が解る.文字コードやポートの指定等々も利用出来る様.

sshfs [user@]host:[dir] mountpoint [options]

なので,

sudo sshfs maty@hpv.cc: /mnt

とかで行ける. host の後ろの: を付け忘れがち.

root 権限でないと/dev/fuse に権限がなかった. しかし,この状態だと一般ユーザが利用できない.

sudo sshfs maty@hpv.cc: /mnt -o allow_other

でとりあえず一般ユーザでも見られる様に. しかし,UID/GID はそのままの様. idmap option を試してみる.

sudo sshfs maty@hpv.cc: /mnt -o allow_other -o idmap=user

root になってしまった….そりゃそうか,root で動かしてるわけだし.

$ ls -la /dev/fuse
crw-rw---- 1 root fuse 10, 229 2007-12-06 11:47 /dev/fuse

なので, /etc/group のfuse に利用ユーザを追加してみる.

$ grep fuse /etc/group
fuse:x:119:mk

そして再度mount

$ sshfs maty@hpv.cc: ./sshfs
fuse: failed to open /dev/fuse: Permission denied

うーん….

その後再起動したらmount 出来た???

$ sshfs maty@hpv.cc: ./sshfs -o idmap=user
$ ls -la sshfs/|head
合計 333320
-rwxr-xr-x  1 mk   users     3251 2005-04-13 01:26 %backup%~
drwx--x--x  1 mk   users     4096 2007-11-10 14:46 .
drwxr-xr-x 54 mk   mk        4096 2007-12-07 02:22 ..
-rw-------  1 mk   users        0 2004-10-25 21:30 .ICEauthority
-rw-------  1 mk   users       99 2004-09-08 23:48 .Xauthority
-rw-r--r--  1 mk   users    23171 2004-08-30 02:14 .Xdefaults
-rw-r--r--  1 mk   users      282 2001-05-27 16:08 .Xmodmap
-rw-r--r--  1 mk   users      290 2003-11-17 00:41 .Xmodmap.jp
-rw-r--r--  1 mk   users      488 2003-04-26 13:40 .alias

とりあえず使えそう.
#/etc/group って即時反映だったと思うのだけど….

ということで,

  • パッケージinstall
    $ sudo apt-get install sshfs
  • fuse グループに利用ユーザを追加
    $ sudo vigr
  • mount
    $ sshfs maty@hpv.cc: ./sshfs -o idmap=user
    な感じで.#vigr の後再起動が必要かもしれない.
    文字コードのオプションもあるけど,基本ascii しかfile/dir に使っていないのでこれも又今度.

文字コードのオプション.
sshfs -h から.

Module options:

[subdir]
    -o subdir=DIR          prepend this directory to all paths (mandatory)
    -o [no]rellinks        transform absolute symlinks to relative

[iconv]
    -o from_code=CHARSET   original encoding of file names (default: UTF-8)
    -o to_code=CHARSET     new encoding of the file names (default: UTF-8)

ということで,ファイル・ディレクトリ名の変換はこんな感じでいけました.以下は接続元がUTF-8.接続先がEUC-JP の場合です.

$ sshfs maty@hpv.cc: ~/fuse/sshfs -o idmap=user,modules=iconv,from_code=EUCJP,to_code=UTF8

modules option を付けるのに気づかず結構嵌まりましたorz

後,iconv のサポート文字コードは,

$ iconv --list

で見られる.

shfs-utils というパッケージも存在する. 今度確認予定.

$ dpkg --contents /var/cache/apt/archives/shfs-utils_0.35-6.2_i386.deb|grep bin
drwxr-xr-x root/root         0 2007-05-01 16:19 ./usr/bin/
-rwxr-xr-x root/root     34872 2007-05-01 16:19 ./usr/bin/shfsmount
-rwxr-xr-x root/root      5808 2007-05-01 16:19 ./usr/bin/shfsumount
drwxr-xr-x root/root         0 2007-05-01 16:19 ./sbin/
lrwxrwxrwx root/root         0 2007-05-01 16:19 ./sbin/mount.shfs -> /usr/bin/shfsmount

Debian



spam 避けですcheck を付けて下さい

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-12-20 (木) 20:36:08 (3645d)