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 のディスク消費には気を付けよう。