玄箱Debianでftpd

メモ:  Category:kuro_box

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 ファイルの送受信にかかった時間(秒)
%s Numeric FTP レスポンスコード (ステータス)
%u ローカルで認証された userid

Resumeを有効にする

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

AllowStoreRestart on

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

AllowRetrieveRestart on

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

bluenote by BBB