玄箱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が可能になります。