ffftpの怪

ユーザから「ftpでファイル見えないぞゴルァ」というクレームが。 普段ftpを使ってない(sftpオンリー)なので気が付かなかった。 とりあえず仮ユーザを作成し、コマンドラインのftpで確認。普通に繋がる。 次に手持ちのNextFTPで確認。あれ、見える… 次にffftpで確認。ファイルが見えない。 あれぇ…

とりあえずお約束のPASVモードを確認。PASV有効、無効共にファイルは見えず。 ぐぐってみると(と言うかffftpのQ&Aによると)、「LISTコマンドでファイル一覧を取得」をチェックしろと出ている。 試したがやはり見えず。うーん。 ffftpで同様の現象は多数見つかるのだが、ほとんどがLISTで解決している。 その中で、ffftpではなくDreamWeaverでの現象だが、ロケールがC以外だとタイムスタンプのフォーマットが違うためDreamWeaverのftp機能が正常に動作しない、というのがあった(AdobeのFAQ)。もしやこれか? ロケール関連の情報を探したところ、さらに決定的な情報を発見。これか…

まとめると、原因は以下のようなものだった。

・以前、一般ユーザからsuして/etc/rc.d/inetd restartを行った際、ユーザのロケール(LANG=ja_JP.eucJP)がinetdに引き継がれていた ・inetdから起動されるftpにもロケール(LANG=ja_JP.eucJP)が引き継がれていた ・ffftpはLANG=C以外のタイムフォーマットに対応していない→ファイルが見えなくなる

と言うわけでもっかいsuして、export LANG=Cしてから/etc/rc.d/inetd restartしたら治りました。 ffftpだけなんだよなぁこれ。