# 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 # # #