玄箱Debianでftpd

Debian化が終わって最初にftpサーバを動かすことにしました。 中身を見ていてproftpdが入っていたので、最初に取り掛かりました。 Debian化された玄箱はランレベル2で動いているらしく、rc2.dを見てみるとS50proftpdと なっていました。動いているのかなと思い、玄箱にftp接続してみました。 しかし、というかやっぱりと言うか接続できません。 そこで、psしてみましたがproftpdは見当たりません。/etc/proftpd.confを見てみると、 ServerTypeがinetdとなってるのでinetd経由で動いているようです。 さらに、見ていくとDefaultRootがありません。 とりあえず、DefaultRoot ~を追加します。

ついでに、ServerNameも適当に変更しました。 ここまで変更し、とりあえずftpで接続すると見事に接続できました。 (PASVモードの設定は当ページの Linux->Proftpdを参照)

Logの設定

/var/log/proftpdにlogを録るため/var/log/proftpdを作成します。 proftpd.confを編集します。

TransferLog /var/log/xferlog
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat write "%h %I %u %t \"%r\" %s %b"
LogFormat read "%h %I %u %t \"%r\" %s %b"

ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read
ExtendedLog /var/log/proftpd/auth.log AUTH auth

どこかのサイトのまねです。

引数

%bリクエストに対して送信されたバイト数
%f保存、もしくは読み出されたファイル名
%{FOOBAR}e環境変数が FOOBAR のコンテンツ
%hリモートホスト名
%aリモート IP アドレス
%lリモートユーザ名 (認証から)
%pローカルサーバのポート番号
%vローカルサーバ名
%Pローカルサーバのプロセス id (pid)
%rクライアントから受け取ったフルのコマンドライン
%t現在のローカルタイム
%{format}tフォーマットされた現在のローカルタイム (strftime(3) format)
%Tファイルの送受信にかかった時間(秒)
%sNumeric FTP レスポンスコード (ステータス)
%uローカルで認証された userid

Resumeを有効にする

proftpdはデフォルトでResumeを禁止しているので許可するよう設定しました。

AllowStoreRestart on

で、uploadのResumeが可能になります。

AllowRetrieveRestart on

でDownloadのResumeが可能になります。