# cygrunsrv -I proftpd -d "CYGWIN proftpd" -p /usr/sbin/proftpd -e CYGWIN="ntsec nosmbntsec" -a "--nodaemon" --termsig TERM --shutdown -1 /var/log/proftpd/cygrunsrv_out.log -2 /var/log/proftpd/cygrunsrv_err.log
# サーバ全体の設定
# Virtual Host を意識した設定にする
ServerType standalone
MaxInstances 32
PidFile /var/run/proftpd.pid
ScoreboardFile /var/run/proftpd.scoreboard
SocketBindTight on # 仮想サーバ毎 (IP 毎) に Socket を作成する
DefaultServer off # 「virtual host 以外のアクセスを Default Server で受ける」ことをしない
UseReverseDNS off # パフォーマンス重視で DNS の逆引きをしない (逆引きなんて DNS を落とされたら意味無いし)
# Cygwin の場合はこの設定じゃないと動かない (コメントアウトすると同じ設定になる "ハズ")
User SYSTEM
Group admins
# ログフォーマットの設定
LogFormat auth "%v [%P] %h %t \"%r\" %s"
LogFormat access "%h %l %u %t \"%r\" %s %b"
LogFormat default "%h %l %u %t \"%r\" %s %b"
# 全ての仮想ホストとデフォルトサーバに対するアクセスに適用する内容
DeferWelcome on # ログインするまでメッセージを表示しない
ServerIdent on "ProFTPD Server"
# 接続時のメッセージ
WtmpLog off # wtmp へのログを行わない
IdentLookups off # パフォーマンス重視で ident をチェックしない (チェックする意味があるとも思えない)
DefaultRoot ~ # 明示的に設定を上書きしない限り自分のホームディレクトリ以外にアクセスさせない
Umask 022
AllowOverwrite on # どんなファイルだろうが overwrite できるのが普通でしょう。
RequireValidShell off # 正しい shell が存在するかは関係ない
TimeoutLogin 60 # 接続してからログイン成功までの制限時間 (秒)
TimeoutIdle 300 # アイドルタイムの制限時間 (秒)
TimeoutNoTransfer 900 # ファイル転送が無い人の制限時間 (秒) クライアントの hung-up などの片付け用
TimeoutStalled 900 # 実質データが転送されていない人の制限時間 (秒) クライアントの hung-up などの片付け用
MaxClients 16 "Sorry, max %m users -- try again later"
# どのバーチャルホストも 16 クライアントまでに制限しておく
AnonRequirePassword off # パスワード要求をしない (メールアドレス要求)
User ftp
Group users
UserAlias anonymous ftp
DirFakeUser on ftp # 見た目だけオーナーを設定
DirFakeGroup on users # 見た目だけグループを設定
DirFakeMode 0644 # 見た目だけアクセス権を設定
MaxClients 10 "Sorry, max %m users -- try again later"
# どのバーチャルホストも anonymous ログインは 10 クライアントまでに制限しておく
# (常に一般ユーザが入れる余裕を持たせる)
DenyAll
# デフォルトサーバに関する設定
DefaultAddress 192.168.1.1
MasqueradeAddress subdomain1.domain.local
Port 21
PassivePorts 65024 65534
ServerName "real ftp service"
ServerAdmin root@subdomain1.domain.local
ExtendedLog /var/log/proftpd/auth.log AUTH auth
ExtendedLog /var/log/proftpd/access.log WRITE,READ access
ExtendedLog /var/log/proftpd/all.log ALL default
#DisplayLogin welcome.msg
#DisplayFirstChdir .message
#AuthUserFile /dev/null
#AuthGroupFile /dev/null
# 追加アカウントの設定
DefaultRoot / admins
# 管理者だけ '/' がデフォルトルート
User ftp
Group users
DenyAll # 設定するまでログインさせない
# AllowAll
#
# Order Allow,Deny
# Allow from 10.,127.0.0.1
# Deny from all
#
# # 仮想サーバに関する設定
#
# MasqueradeAddress subdomain2.domain.local
# Port 21
# PassivePorts 65024 65534
# ServerName "virtual ftp service"
# ServerAdmin root@subdomain2.domain.local
# ExtendedLog /var/log/proftpd/subdomain2.domain.local/auth.log AUTH auth
# ExtendedLog /var/log/proftpd/subdomain2.domain.local/access.log WRITE,READ access
# ExtendedLog /var/log/proftpd/subdomain2.domain.local/all.log ALL default
# #DisplayLogin welcome.msg
# #DisplayFirstChdir .message
# AuthUserFile /dev/null
# AuthGroupFile /dev/null
# # 追加アカウントの設定
# DefaultRoot / admins
# # 管理者だけ '/' がデフォルトルート
#
# User ftp
# Group users
#
# DenyAll # 設定するまでログインさせない
# # AllowAll
#
#
# #
# # Order Allow,Deny
# # Allow from 10.,127.0.0.1
# # Deny from all
# #
#