トップ  »  コンピュータガイド  »  サーバ関連  »  vsFTPd  »  FTPで転送したファイルのタイムスタンプが9時間程ズレる

FTPで転送したファイルのタイムスタンプが9時間程ズレる

トラブルの内容

それまで使用していたWU-FTPDに替わりvsFTPd(私が検証したのはvsFTPd1.1.3)をインストールし、基本的な設定をして運用を始めました。
ところがしばらくすると、ユーザから「アップデートしたファイルの更新日時がおかしい。」という指摘を受けてしまいました。
自分でもFTP接続して確認してみると確かにキッカリ9時間遅れ...。

vsFTPdの設定は一通りしたし、システム時計も外部のタイムサーバと同期していてちゃんと合っていました。
それより何より、アップロードしたファイルの更新時間自体がズレている訳ではなかったのです。
サーバのローカルや、telnet接続でファイル情報を確認するとズレていない。
FTP接続した場合に限って9時間ズレる(ズレて見える)のです。

えぇ?、何で...。(;´д⊂)

原因

実はこの9時間がポイントでした。
そう、日本標準時(JST)は"GMT+9:00"、つまりグリニッジ標準時より9時間早いのです。
そして、それまで使用していた"WU-FTPD"ではデフォルトでホストのローカルタイムを使用するようになっていたのに対し、vsFTPdのデフォルトはGMT(グリニッジ標準時)を使用するようになっているのです。
更にvsFTPdの設定ファイルはデフォルトのままでは使用するタイムゾーンに関するディテクティブが省略されているのです。
コメントアウトされている訳でなく、記述されていないのです。

いや、言い訳ですね。私の見落とし、ポカ、完全なるケアレスミスです。はい。

解決策

"FFFTP"など代表的なFTPクライアントソフトではホストのタイムゾーンを設定する事が出来ます。
ユーザがFTPクライアントソフトでGMTを設定してくれればそれでOKです。
ま、 元々FTPクライアントの表示がズレているだけの問題なので気にしないというのも良いでしょう。

なんて冗談です。すみません。
日本製のFTPクライアントソフトのデフォルトはやはりJSTGMT+9:00)だったりするし、ユーザにそれまでしていなかった設定変更をさせる手間を増やすのも如何なものかと思いますし、サーバ側の設定をきちんとすれば良い事なので設定ファイルに追記しましょう。
勿論、サーバの運用方法上GMTにしておく必要がある場合は追記の必要はありません。

vsFTPdの設定ファイルは"/etc/vsftpd.conf"または"/etc/vsftpd/vsftpd.conf"です。
これをviエディタなどで開いて、"use_localtime=YES"の一行を追記します。

{オプション}={値}の間にスペース(空白文字)が入っているとエラーになるという事なので注意してください。
ex.)
use_localtime=YES   (OK)
use_localtime = YES (NG)

[user@host user]$ su -
Paassword:
[root@host root]# vi /etc/vsftpd/vsftpd.conf
                   :
                   :
use_localtime=YES   (追記します)
:wq   (保存して終了)
[root@host root]#

追記したら保存して閉じ、vsFTPdを再起動します。

[root@host root]# /etc/init.d/vsftpd restart
[root@host root]#

以上でFTP接続した際にもちゃんと日本標準時(JST)で表示される様になります。
正確に言うと、vsFTPdを運用しているマシンのシステム時計で設定されている日時(タイムゾーン)という事になります。

トラックバック(0)

トラックバックURL: http://www.ezms.net/mt/mt-tb.cgi/10