玄箱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 | ファイルの送受信にかかった時間(秒) |
%s | Numeric FTP レスポンスコード (ステータス) |
%u | ローカルで認証された userid |
Resumeを有効にする
proftpdはデフォルトでResumeを禁止しているので許可するよう設定しました。
AllowStoreRestart on
で、uploadのResumeが可能になります。
AllowRetrieveRestart on
でDownloadのResumeが可能になります。