Windows 2022
Sponsored Link

FTP サーバー : FTP サイトを追加する2022/02/02

 
FTP サイトを追加して、クライアントコンピューターから FTP 接続できるように設定します。
例として、[FTPGroup] というローカルグループを新規作成し、FTP を許可する任意のローカルユーザーを [FTPGroup] に追加して FTP 経由でファイルの読み書きができるように設定します。
[1] PowerShell を管理者権限で起動して設定します。
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

# FTP 用のグループ [FTPGroup] 追加
PS C:\Users\Administrator> New-LocalGroup -Name "FTPGroup" 

Name     Description
----     -----------
FTPGroup

# FTP を許可する任意のローカルユーザーを [FTPGroup] に追加
# 下例は ローカルユーザー [Serverworld] を [FTPGroup] に追加
PS C:\Users\Administrator> Add-LocalGroupMember -Group "FTPGroup" -Member "Serverworld" 

# 確認
PS C:\Users\Administrator> Get-LocalGroupMember -Name "FTPGroup" 

ObjectClass Name             PrincipalSource
----------- ----             ---------------
User        RX-7\Serverworld Local

# FTP サイトを追加
# -Name [管理上の任意の名前]
# -IPAddress [リスンする IP アドレス] (下例は 0.0.0.0)
# -Port [リスンするポート]
PS C:\Users\Administrator> New-WebFtpSite -Name "FTPSite01" -IPAddress "*" -Port 21 

# 追加した FTP サイトで使用する物理フォルダーを設定
# 下例は FTP インストール時に作成されている [C:\inetpub\ftproot] 配下に [FTPSite01] を新規作成して設定
PS C:\Users\Administrator> mkdir 'C:\inetpub\ftproot\FTPSite01' 
PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPSite01" -Name physicalPath -Value 'C:\inetpub\ftproot\FTPSite01' 

# SSL/TLS 無しでの接続を許可
PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPSite01" -Name ftpServer.security.ssl.controlChannelPolicy -Value "SslAllow" 
PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPSite01" -Name ftpServer.security.ssl.dataChannelPolicy -Value "SslAllow" 

# 基本認証を設定
PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPSite01" -Name ftpServer.security.authentication.basicAuthentication.enabled -Value $true 

# ローカルグループ [FTPGroup] の読み取り/書き込み許可を設定
PS C:\Users\Administrator> Add-WebConfiguration "/system.ftpServer/security/authorization" -Location FTPSite01 -PSPath IIS:\ -Value @{accessType="Allow";roles="FTPGroup";permissions="Read,Write"} 

# 外部 IP アドレスを設定 (クライアントから接続可能な IP アドレス)
PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPSite01" -Name ftpServer.firewallSupport.externalIp4Address -Value "10.0.0.101" 

# FTP サイトの物理パスに設定したフォルダーに FTP サイトでアクセス許可したグループのアクセス許可を設定
# 下例は フルコントロール + 継承有り
PS C:\Users\Administrator> icacls "C:\inetpub\ftproot\FTPSite01" /grant "FTPGroup:(OI)(CI)(F)" 
processed file: C:\inetpub\ftproot\FTPSite01
Successfully processed 1 files; Failed processing 0 files

# FTP サイトを再起動
PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\FTPSite01' 
FTP サーバー : FTP サイトを追加する (GUI)
 
GUI で設定する場合は以下のように実行します。
[2] 事前に FTP アクセスを許可するローカルグループを新規追加して、実際に FTP を許可するローカルユーザーを該当グループに追加しておきます。 当例では [FTPGroup] を追加して、[Serverworld] ユーザーを所属させ、FTP アクセスを許可します。 ローカルユーザーの作成等はこちらを参照ください
[3] 事前に追加する FTP サイトで使用する物理フォルダーを作成し、先に追加した FTP を許可するグループのアクセス権を設定しておきます。 当例では、FTP サーバーインストール時に自動で作成される [C:\inetpub\ftproot] 配下に [FTPSite01] フォルダーを新規作成し、先に追加した FTP 用のグループにフルコントロールの権限を設定して進めます。
[4] FTP サイトを追加します。
[スタート] - [サーバーマネージャー] を起動し、[ツール] - [インターネット インフォメーション サービス マネージャー] を開きます。 次に、左ペインで [サイト] を選択し、右クリックのメニューから [FTP サイトの追加] を開きます。
[5] [FTP サイト名] には任意の管理上の名称を入力します。[物理パス] には先に追加した FTP サイト用の物理フォルダーを指定します。
[6] バインドの設定です。IP アドレス/ポート は既定のままで OK です。
以下の設定の場合、FTP サービスは 0.0.0.0:21 でリスンします。
[SSL] の項目は、当例では [無し] を選択して進めます。
SSL を使用する場合の設定はこちらを参照ください
[7] 認証とアクセス権の設定です。
当例では、認証には [基本認証] を設定し、アクセス権は [指定された役割またはユーザー グループ] を選択します。
[8] アクセス権に [指定された役割またはユーザー グループ] を選択した場合、アクセス許可するグループを指定します。 当例では [2] で新規作成したグループを指定し、アクセス許可は [読み取り/書き込み] に設定します。
[9] FTP サイトが追加されました。左ペインで追加された FTP サイトを選択し、中央ペインで [FTP ファイアウォールのサポート] をクリックします。
[10] [ファイアウォールの外部 IP アドレス] に、FTP クライアントから接続可能な IPアドレスを設定します。 以上で FTP サイトの設定は完了です。
関連コンテンツ