FreeBSDでProFTPDをInetdで動かす

FreeBSDProFTPDをInetdで動かすメモ。
当然だが、Inetdが動いてるのが大前提。

★インストール

Portsftp/proftpdを入れる。特にコツは無い。

ProFTPDの設定

ProFTPDの設定のサンプルを/usr/local/etcにコピーする。

# cd /usr/local/etc
# cp /usr/local/share/examples/proftpd/etc/proftpd.conf ./


コピーしたproftpd.confを編集する。
Inetdで動かすので、「ServerType」はstandaloneからinetdに変更する。

#ServerType                     standalone
ServerType                      inetd


rootでproftpdに「-t」を付けて実行し、設定ファイルが正しく書けてるかチェックする。
ここでエラーメッセージが出たらProFTPDは起動しないので、エラーメッセージを読んで間違ってる箇所を修正する。

# proftpd -t
Checking syntax of configuration file
Syntax check complete.
★Inetdの設定

/etc/inetd.confを編集し、ftpの箇所にproftpの設定を加える。

#ftp    stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l
#ftp    stream  tcp6    nowait  root    /usr/libexec/ftpd       ftpd -l
ftp     stream  tcp     nowait  root    /usr/local/sbin/proftpd proftpd
★Inetdの再起動&動作確認

下記コマンドでInetdを再起動させる。

# kill -HUP `cat /var/run/inetd.pid`


ftpクライアントで接続出来るかテストする。

$ ftp localhost
★ログの管理

デフォルト設定だと、ログは/var/log/xferlogに保存される。
ログが溢れないようにnewsyslogで管理する。
/etc/newsyslog.confで設定する。

# logfilename          [owner:group]    mode count size when  flags [/pid_file]  [sig_num]
/var/log/xferlog                        640  7     100  *     JC