Shfs

提供: ArchWiki
2015年12月23日 (水) 20:30時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

Shfs はプレーンシェル (ssh) 接続を使ってリモートのファイルシステムをマウントすることができる、シンプルで使いやすい Linux カーネルモジュールです。shfs を使用することで、ローカルファイルのようにリモートファイルにアクセスすることができます。ssh のトランスポートセキュリティによってアクセスは制御されます。

ノート: shfs は2004年からアップデートされていないため、FUSE ベースの Sshfs の方が幅広く使われています。

概要

Shfs の素晴らしい特徴:

  • ファイルキャッシュによる高速なアクセス
  • リモート (サーバー) 側は perl とシェルコード
  • uid/gid (root 接続) を維持可能
  • 多数のリモートホストプラットフォーム (Linux, Solaris, Cygwin, ...)
  • Linux カーネル 2.4.10+ と 2.6
  • (ssh の代わりに) 接続に使用できる任意コマンド
  • 接続の永続性 (ssh が終了したら再接続)

上記の特徴があまり役にたつと思えなくても、サーバーで設定する必要があるのは sshd だけで、どこからでも安全にファイルシステムをマウントできるのは便利でしょう。

shfs を使用するには shfs をクライアント側でインストール・設定する必要がありますが、サーバー側では必要ありません。サーバーはただ sshd を動作させればそれでいいのです。

インストール

標準の Arch Linux カーネルを使っている場合、公式リポジトリshfs-utils を使って下さい。カスタムカーネルを使っている場合は、ABS を使って自分でコンパイルしてください。

設定

通常ユーザーで shfsmount を使いたいときは、chmod +s /usr/bin/shfsmountchmod + /usr/bin/shfsumount を実行してください。ただし、以下のように /etc/fstab にマウントオプションを記述するほうがずっと快適です:

remoteuser@Server:/data   /mnt/data   shfs    rw,noauto,uid=localuser,persistent   0       0
remoteuser@Server:/crap   /mnt/crap   shfs    rw,noauto,uid=localuser,persistent   0       0
remoteuser@Server:/backup /mnt/backup shfs    rw,noauto,uid=localuser,persistent   0       0
remoteuser@Server:/home   /mnt/home   shfs    rw,noauto,uid=localuser,persistent   0       0

パスワードの入力が面倒だと感じたら、SSH 鍵を使うようにしてください。

ssh をサーバーのポート 22 以外で実行している場合、オプションリストに port=<portnumber> を追加する必要があります。

/etc/fstab

fstab に shfs ボリュームのエントリを追加するには、以下の形式で行を追加します (参照: Ubuntu フォーラム):

userid@remoteMachine:/remoteDirectory /home/userid/remoteDirectory shfs rw,user,noauto 0 0

参照