Anonymous FTP にまつわるいろいろ

システム標準の ftpd を使ってサービスを提供するなら、 インストール時にそうなるよう指定するのが楽ちんである。 もちろんインストール後に sysinstall で有効にすることもできる。

決めておくことは以下の通り。

  • ユーザid に何を使うか (デフォルトでは uid 14)
  • ディレクトリをどこにするか (デフォルトでは /var/ftp/ )
  • スーパサーバで待つか、単独で ftpd を上げるか (デフォルトは inetd 想定)

ユーザ管理や ディスク管理のポリシーに合わせて決める。 デフォルト値を採用してもよいが、/var の大きさには気をつけよう。

# sysinstall
Configure → NetWorking → Anon FTP
ユーザID、グループ、コメントはそのままで良い。
「FTP Root Directory」で設定したディレクトリで chroot することになる。
welcome message はお好みで編集する。

設定時に出てくる ftp ユーザは uid 14 であらかじめ用意されているユーザである。 このユーザの passwd エントリを見れば、どこに chroot されるのかがわかる。

welcome message を作成した場合、chroot 先の etc/ftpmotd にその内容が書かれる。 修正したければ、sysinstall を抜けた後にファイルを更新すればよい。

マシンのローカル時刻が JST でも、 chroot するため ftpd からは /etc/localtime が見えない。 よって、そのままでは GMT (UTC) で動いてしまう。 chroot 先 の etc 以下に /etc/localtime を コピーしてあげれば、マシンのローカル時刻で見えるようになる。

incoming に匿名で置いたファイルの owner は ftp ユーザのものになる。

システム標準の syslog.conf では、ログは /var/log/xferlog に出る。 デフォルトでは info レベルで取られているが、実はここの設定はどうでもいい。 ftpd 起動時のオプション指定が -l 1つだとセッションのレベルまで、 -l -l と2つ指定するともうちょっと詳細レベルまで、というように 出力レベルを変更することができる。

syslog とは違うログとして、ftpd 起動時に -S を与え、かつ /var/log/ftpd が ファイルとして存在する場合、このファイルに Anonymous アクセスのダウンロード の記録をガシガシ追記してくれる。 このファイルは デフォルトの /etc/newsyslog.conf ではノーケアなので、 /var のディスク消費には気を付けよう。

[$Revision: 1.5 $ $Date: 2006.08.08 06:29:07 $]
[EOF]