まず、 tnftpd をインストールし、動作確認をして下さい。 確認ができたら tnftpd を”anonymous ftp として”設定しましょう。
設定は、次の 5 ステップから構成されます。 「仮想ユーザの作成」 「ftp サーバの使うディレクトリの設定」 「tcp_wrappers の設定」 「設定ファイルの編集」
anonymous ftp サーバには仮想ユーザ ftp が必要です。
# useradd -g nogroup -m -d /pub/ftp -s /sbin/nologin ftp/pub/ftp の部分は anonymous ftp で使うディレクトリ・パスです。 適宜変更してください。
anonymous ftp サーバが使うディレクトリを作成し、 正しい permission にする必要があります。 手順は以下の通りです。意味は自分で調べて下さい。 *** 注意: ~ftp の「ある」「なし」を間違えると致命的なことになるので気をつけること! ***
# chown root:wheel ~ftp/ # mkdir ~ftp/bin # cp -p /rescue/ls ~ftp/bin/ # chmod 111 ~ftp/bin/ls # chmod 555 ~ftp/bin/ # mkdir ~ftp/etc # grep nogroup /etc/group > ~ftp/etc/group # echo "root:*:0:0::0:0::/:/sbin/nologin" > ~ftp/etc/master.passwd # pwd_mkdb -d ~ftp ~ftp/etc/master.passwd # rm -f ~ftp/etc/master.passwd ~ftp/etc/spwd.db # chmod 555 ~ftp/etc # mkdir ~ftp/pub # chmod 755 ~ftp/pub # rm -f ~ftp/.[a-z]* # chmod 555 ~ftp
anonymous ftp なので、全世界すべての人が利用できるわけです。
そういうわけで、こう。
# echo tnftpd: ALL >> /etc/hosts.allow
特別編集しなくても問題ありません。
確認:
% diff -ub /usr/pkg/share/examples/tnftpd/ftpd.conf /usr/pkg/etc/ftpd.conf
anonymous ftp サーバでは、anonymous 以外の利用は想定しないので、 ユーザ ftp と anonymous だけを許し、あとはすべて拒否とします。
# mv /usr/pkg/etc/ftpusers /usr/pkg/etc/ftpusers.orig # echo ftp allow >> /usr/pkg/etc/ftpusers # echo anonymous allow >> /usr/pkg/etc/ftpusers # echo '* deny' >> /usr/pkg/etc/ftpusers注意: * はシェルにとって特別な意味があるため、 '* deny' としていることに注目。
確認:
% diff -ub /usr/pkg/share/examples/tnftpd/ftpusers /usr/pkg/etc/ftpusers
自分自身からでも、他の PC からでも ftp できることを確認して下さい。
% ftp ftp://fs/注: 「ftp://server/」 という URL は anonymous ftp という意味です。 ftp コマンドは、この URL を与えられると、 自動的にユーザ ftp もしくは anonymous でログインを試みます。
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >