# class クラス名 タイプリスト アクセス元リスト
class anon anonymous *
class remote real,guest *
# guestgroup に chroot したいグループを追加する。
guestgroup user
クラス名は ftpaccess 内の各所で使われるが、特に特殊な設定を施さない限りは
class all real,guest,anonymous *と設定しておけば、anonymous を含む全てのユーザーが ftp に対してアクセスできる。
ディレクトリ/ファイル名 | パーミッション |
---|---|
/$HOME/$USER/bin/ | 111 |
/$HOME/$USER/bin/ls | 111 |
/$HOME/$USER/bin/gzip | 111 |
/$HOME/$USER/etc/ | 111 |
/$HOME/$USER/etc/group | 444 |
/$HOME/$USER/etc/pwd.db | 444 |
### クラスの設定 # anonymous アクセスに対しては "anon" というクラス名を付与。 class anon anonymous * # /etc/passwd に記載されたユーザー及び guestgroup で指定されたユーザーからの # アクセスに対しては "remote" というクラス名を付与。 class remote real,guest * ### chroot の設定 # user グループを guestgroup として設定する → chroot を行う # class で guest を指定しない場合は指定すると real タイプリストのグループも # ログオンできなくなるので注意。 guestgroup user # クラス名 "anon" の同時ログオン数を 20とし、全ての時間帯において適用する。 limit anon 20 Any /etc/msgs/msg.dead # 3回ログオンに失敗すると切断する。 loginfails 3 ### メッセージ表示設定 ### 表示されるファイルの位置は chroot が適用される。 # クラス名 "anon" がログオンしたとき /etc/msgs/welcome.msg を表示する。 message /etc/msgs/welcome.msg login anon # クラス名 "remote" がログインしたとき /README.txt を表示する。 message /README.txt login remote # 全てのディレクトリに移動する際に、カレントディレクトリにある # .message を表示する。 message .message cwd=* ### ログ取得に関する設定 # 使用したコマンドを記録する。 log commands anonymous,real,guest # 転送したファイル名を送受信両方で記録する。 log transfers anonymous,real,guest inbound,outbound # セキュリティ違反 (パスワード間違いなど) の内容を記録する。 log security anonymous,real,guest ### 実行制限 ### 指定したタイプリスト (anonymous/real/guest) に対して実行制限を行う。 # anonymous に対して以下の制限を課す。 delete no anonymous chmod no anonymous umask no anonymous overwrite no anonymous rename no anonymous # anonymous アクセスに対するパスワードチェックのレベルを設定する。 # パスワードに @ が含まれていることが条件 (trivial) で、そうでない場合は # 警告を出して強制切断を行う (enforce)。 passwd-check trivial enforce # 900秒間何もない状態が続けば切断する。 timeout idle 900 # 全ての接続元に対して Passive モードで使用するポート番号を 7300 〜 7800 に # 限定する。 # この場合、7300 〜 7800 をダイヤルアップルーターで ftp サーバーに # リダイレクトする設定を行っておく事。 passive ports 0.0.0.0/0 7300 7800