コマンドによるIIS FTPサービスの追加及び設定
■前提条件
・Default FTP Siteを使用
■検証環境
・OS: Windows Server 2008
・Windows Firewall無効
・FTPルート及びログディレクトリを別ドライブへ指定
・FTP専用ユーザのみアップロードを許可
■設定手順
1.事前設定
FTPユーザー追加:
> net user ftp-user001 Password /add
FTPユーザーグループ追加:
> net localgroup "FTP User" /add > net localgroup "FTP User" ftp-user001 /add
FTPルートディレクトリ設定:
> md d:\ftp\ftproot > md d:\ftp\logs
現設定の確認:
> cacls d:\ftp\ftproot
Usersグループの書き込み拒否:
> cacls d:\ftp\ftproot /e /p Users:r
FTP Usersグループの書き込み許可(Full Control):
> cacls d:\ftp\ftproot /e /p "FTP Users":f
設定後の確認:
> cacls d:\ftp\ftproot
2.FTPサービス(役割)の追加
現在の役割一覧の確認:
> ServerManagerCmd -query | find "FTP"
FTPの追加:
※インストール完了まで数分かかる
※インストールログをCドライブ直下に出力
> ServerManagerCmd -install Web-Ftp-Publishing -logPath C:\IIS-FTP_install.log
サービスの開始:
> sc start MSFTPSVC > sc query MSFTPSVC
サービス自動起動設定:
> sc config MSFTPSVC start= auto > sc qc MSFTPSVC
現在のFTP設定一覧の取得:
> cd c:\inetpub\AdminScripts
グローバル設定:
> cscript adsutil.vbs ENUM /MSFTPSVC
Default FTP Site:
> cscript adsutil.vbs ENUM /MSFTPSVC/1
3.Default FTP Site設定
ファイル名およびロールオーバーに地域設定を使用する:
※デフォルトでは0:00 GMTにてログローテーションされる為、0:00 JSTへ変更する。
> cscript adsutil.vbs SET /MSFTPSVC/1/LogFileLocaltimeRollover True
新しいログディレクトリの指定:
> cscript adsutil.vbs SET /MSFTPSVC/1/LogFileDirectory "D:\ftp\logs"
ログ取得項目(追加分):
> cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileDate True > cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileBytesSent True > cscript adsutil.vbs SET /MSFTPSVC/1/LogExtFileBytesRecv True
匿名接続の禁止
> cscript adsutil.vbs SET /MSFTPSVC/AllowAnonymous False
FTPルートディレクトリ変更:
> cscript adsutil.vbs SET /MSFTPSVC/1/ROOT/Path "D:\ftp\ftproot"
FTP書き込み許可:
> cscript adsutil.vbs SET /MSFTPSVC/1/ROOT/AccessWrite True
その他:
・FTPバナー抑制
※FTP接続時に『Microsoft FTP Service』というバナーを表示しない
> cscript adsutil.vbs SET /MSFTPSVC/1/SuppressDefaultFTPBanner True > cscript adsutil.vbs SET /MSFTPSVC/1/BannerMessage "FTP Server"
・パッシブモードでのポートレンジ指定(21000/tcp~21500/tcp)
> cscript adsutil.vbs SET /MSFTPSVC/PassivePortRange "21000-21500"
以上