読者です 読者をやめる 読者になる 読者になる

海馬のかわり

最近記憶力に難がある、地方在住サーバエンジニアの備忘録です。

コマンドによるIIS FTPサービスの追加及び設定

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"

以上