ftpサーバーをマウントするには?

Pocket

ftp サーバーもローカルディスクと同じようにマウントして使えれば便利ですよね
curlftpfs を使えば、サーバーをローカルディスクのようにマウントして使えます

curlftpfs は、fuse を使うので、カーネルが fuse をサポートしている前提です
fuse をサポートしていない場合は、こちらを見てください

1. curlftpfs の取得

今回は、src.rpm を取得してコンパイルして使ってみたいと思います
http://rpmfind.net から curlftpfs の srpm を取得してきます。
何種類かありますが、今回は Fedora13 用の curlftpfs-0.9.2-6.fc13.src.rpm をダウンロードしてきます

2. rpm の作成とインストール

マシンは x86 の Core2Duo なので、下のコマンドを実行しました。適宜変えてくださいね

<br />
$ rpmbuild --rebuild curlftpfs-0.9.2-6.fc13.src.rpm --target i686<br />

configure の mktime の部分で結構な時間が必要です。最初、固まっていると思いました。

rpm のインストールはコマンド一発ですね。

<br />
$ cd ~/rpmbuild/RPMS/i686<br />
$ sudo rpm -ivh curlftpfs-0.9.2-6.*.i686.rpm<br />

3. ftp サーバーのマウント

目的の ftp サーバーのマウントです。

<br />
$ sudo curlftpfs ftp://example:examplepw@example.jp/ /mnt/example_dir<br />

ユーザー名 example パスワード examplepw で example.jp にアクセスできるユーザーが、
ftp サーバーのディレクトリを /mnt/example_dir にマウントするようなコマンドです。
このままだと、root 以外の人が /mnt/example_dir にアクセスすると、パーミッションエラーで閲覧できません。
なので、オプションを足します。

<br />
$ sudo curlftpfs -o allow_other ftp://example:examplepw@example.jp /mnt/example_dir<br />

これで、root 以外の人も閲覧できるようになります。

4. mount コマンドでマウント

これは、/etc/fstab に登録しておこないます。
curlftpfs を使ったマウントのオプションのままですと、下のように fstab に追記します。

<br />
curlftpfs#example.jp/ /mnt/example_dir fuse user=example:password=examplepw,allow_other 0 0<br />

コメントを残す