mieki256's diary



2007/10/02(火) [n年前の日記]

#1 Vine Linux 4.1 の ProFTPD設定でハマる

新サーバ機にftpでアップロードしたら時刻がずれてることに気づいた。なんでや。TimesGMT off は指定してるのだけど。

_15: ftpファイルの時刻について :

_Vine Linux errata [proftpd のバグ修正]
proftpd サーバは、クライアントに返すファイル/ディレクトリの MDTM (更新日時) を、proftpd が動作しているマシンのローカルタイムに 準じて返しています。 (/etc/proftpd.conf で TimesGMT FALSE となっている場合) しかし、多くの FTP クライアントは、FTP サーバが返す MDTM を GMT と期待して動作しており、例えば lftp でファイルを取得すると、 サーバ上の日付より進んだ更新日時となってしまいます。アップストリームでこの件について議論が行われ、 MDTM は常に GMT で返した方が良いだろうという結果になり、 バージョン 1.3.1rc1 に修正が入りました。

Vine Linux errata [proftpd のバグ修正] より


_No.4981 ProftpdでTimesGMTが有効にならない

_FTPサーバ(ProFTPD)の構築(SuSE9.3編)
SuSE9.3(9.2も発生)では、localtimeを使用するように指定(TimesGMT off)していても、uploadしたファイル自体の更新時刻はlocaltimeになるが、クライアントでの表示やProFTPDのログがGMTになってしまう問題が発生する。これはchrootすると、/etc/localtimeが読めなくなることに起因するようなので対策が必要である。

FTPサーバ(ProFTPD)の構築(SuSE9.3編) より


_アップロードしたファイルのタイムスタンプのクライアントでの表示やログがGMT(9時間前)になってしまう。
この問題は、chrootする時に発生するが、原因はglibc-2.3のバグによるものである。

アップロードしたファイルのタイムスタンプのクライアントでの表示やログがGMT(9時間前)になってしまう。 より


_T-4の整備日誌v2: ProFTPdの時刻がずれる問題
しかしながら、この現地時間設定ファイルはユーザディレクトリの外にあるため、アクセス出来ません。本来はアクセス出来る権限のあるプロセスが行うので問題ないのですが、glibc-2.3のバグによって出来なくなっていました。長く書きましたが、これによってログに吐き出されるアクセス時刻がGMT(世界協定時)のままログに書き出されてしまっていました。私(管理者)はFTPでアクセスしても自由にディレクトリを移動出来るようにしているので、現地時間設定ファイルにもアクセス出来、気がつきませんでした。そのためログの時系列が目茶目茶になった挙句、ログが飛んでしまっていました。

T-4の整備日誌v2: ProFTPdの時刻がずれる問題 より



たしかにFTPサーバのログも時間がずれていた。なんだかやっかいだな…。

_ITmedia エンタープライズ : Linux Tips「ProFTPDでタイムスタンプが9時間ズレてしまう」 :

少なくとも、この記事にあるような「TimesGMT off」指定はもう古いということなんだろうか。…よくわからん。

_TimesGMT off と TimesGMT FALSE では動作が違っていたらしい :

proftpd の localtime がGMTになってしまうというのは検索すると/etc/proftpd.confに「TimesGMT off」と記述するように書いてある。「TimesGMT off」と記述して正常な時間を表示するようになったのだが、またおかしくなって直す方法が分からなかった。今日、vine の proftpd は正常な時間を表示するので /etc/proftpd.conf を見ると「TimesGMT FALSE」になっていた。CentOSも「TimesGMT FALSE」するとOKになった。

TimesGMT off # 誤り
TimesGMT FALSE # 正しい

いつから変わったんだ?

kazkaz diary - tDiary エラー - エラー , proftpd の localtime より

off と FALSE が同様に扱われない状況もありうるのか…。したり顔(?)で「offもFLASEも同じですよ」とは言えなくなってるのだな。

_satospo - ProFTPDのGMT問題 :

方法1 : proftpd.confでSetEnvディレクティブを用いてTZ環境変数を定義します。
proftpd.confで、

SetEnv TZ JST-9

とします。

satospo - ProFTPDのGMT問題 より

これだ! つーかこんな指定ができるのか。

とりあえず、Vine Linux 4.1 + proftpd-1.2.10-0vl5.5 では、
#TimesGMT FALSE
TimesGMT off
SetEnv  TZ JST-9
DefaultRoot 
の記述でなんとか。
  • FFFTP で、タイムゾーンを「GMT+9:00(日本)」にしてアクセスしてる分には、日本時間でファイルのタイムスタンプが表示できてるように見える。
  • ftpサーバのログも日本時間で記録されてるように見える。
てな状態に。

この記事へのツッコミ

Re: Vine Linux 4.1 の ProFTPD設定でハマる by いくみ    2010/02/17 01:58
CentOS5.4 + Proftpd 1.3.2でも同じ現象出てます。
TimesGMT off
SetEnv TZ JST-9
DefaultRoot
で直りました。

以上です。

過去ログ表示

Prev - 2007/10 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project