「CurlFtpFS」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
 
(他の1人の利用者による、間の1版が非表示)
64行目: 64行目:
 
# curlftpfs ftp.yourserver.com /mnt/ftp/ -o ssl,no_verify_peer,no_verify_hostname,user=username:password
 
# curlftpfs ftp.yourserver.com /mnt/ftp/ -o ssl,no_verify_peer,no_verify_hostname,user=username:password
   
暗示的な tsl モードも使えます。詳しくはマニュアルページを見てください。
+
暗示的な tsl モードも使えます。詳しくはマニュアルページ {{man|1|curlftpfs}} を見てください。
  +
  +
== トラブルシューティング ==
  +
=== ファイル名に '#' が含まれたファイルにアクセスできない ===
  +
  +
[https://bugs.launchpad.net/ubuntu/+source/curlftpfs/+bug/783033 Launchpad bug 783003] として報告されていますが、2020年時点では動きがありません。[https://sourceforge.net/p/curlftpfs/bugs/54/ 上流のバグ報告]には[https://github.com/jomat/curlftpfs 非公式なパッチ]が紹介されています。

2023年8月8日 (火) 22:44時点における最新版

関連記事

ノート: 2015年2月現在、curlftpfs は動作が極端に遅くなることがあるという報告があります。Ubuntu のバグレポートstackoverflow.com の質問 を参照。

CurlFtpFSFUSE と libcurl によって FTP ホストにアクセスするファイルシステムです。

インストール

curlftpfs パッケージをインストールしてください。

必要であれば、fuse を起動してください:

# modprobe fuse

root で FTP フォルダをマウント

マウントポイントを作成して FTP フォルダをマウント:

# mkdir /mnt/ftp
# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password

他のユーザーにアクセス権限を与えたい場合、allow_other オプションを使います:

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other

カンマの後に空白を追加してはいけません。allow_other 引数が認識されなくなります。

アクティブモードで FTP を使いたい場合は 'ftp_port=-' オプションを追加します:

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password,allow_other,ftp_port=-

/etc/fstab に以下の行を追加すると自動でマウントすることができます:

curlftpfs#USER:PASSWORD@ftp.domain.org /mnt/mydomainorg fuse auto,user,uid=1000,allow_other,_netdev 0 0
ヒント: UTF-8 をサポートしていないサーバーで英語以外の文字列に問題が発生する場合は codepage="string" を使ってみてください (例: codepage="iso8859-1")。

プロセスリストにパスワードが表示されないようにするには、curlftpfs を動作させるユーザーのホームディレクトリに以下の内容の .netrc を作成して chmod 600 を実行してください:

machine ftp.yourserver.com
login username
password mypassword

通常ユーザーで FTP フォルダをマウント

通常ユーザーでマウントすることも可能です (.netrc ファイルと ssl 暗号化を常に使うようにしてください):

$ mkdir ~/my-server
$ curlftpfs -o ssl,utf8 ftp://my-server.tld/ ~/my-server

以下のように返ってくる場合:

Error connecting to ftp: QUOT command failed with 500

サーバーが utf8 オプションに対応していません。それ以外は問題ありません。

ヒント: 必要であれば -o codepage="iso8859-1" などとエンコーディングを設定してみてください。

アンマウントするには:

$ fusermount -u ~/my-server

暗号化サーバーに接続

デフォルト設定では CurlFtpFS は暗号化されていない接続ポートに接続するとき平文で認証します。リモートサーバーが暗号化されない認証方式を拒否するように設定していた場合、CurlFtpFS は以下のようにエラーを吐きます:

Error connecting to ftp: Access denied: 530

暗号化認証を使って ftp サーバーに接続するには、ssl あるいは tsl オプションを指定する必要があります:

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o ssl,user=username:password

コンピュータが信頼していない自己署名証明書を使っているサーバーに接続する場合、無視するように指定します:

# curlftpfs ftp.yourserver.com /mnt/ftp/ -o ssl,no_verify_peer,no_verify_hostname,user=username:password

暗示的な tsl モードも使えます。詳しくはマニュアルページ curlftpfs(1) を見てください。

トラブルシューティング

ファイル名に '#' が含まれたファイルにアクセスできない

Launchpad bug 783003 として報告されていますが、2020年時点では動きがありません。上流のバグ報告には非公式なパッチが紹介されています。