FTP サーバー : FTP ユーザーの分離2022/02/02 |
FTP ユーザー分離の設定です。
FTP ユーザーの分離を有効にすると、各ユーザーはそれぞれ自身のユーザー名フォルダーのみにアクセス可能となります。 各ユーザー間でファイル共有の必要がなく、各ユーザー毎に FTP を利用させたい場合に有効な設定です。 |
|
[1] | PowerShell を管理者権限で起動して設定します。 |
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. # FTP サイトを追加 # -Name [管理上の任意の名前] # -IPAddress [リスンする IP アドレス] (下例は 0.0.0.0) # -Port [リスンするポート] PS C:\Users\Administrator> New-WebFtpSite -Name "FTPRoot" -IPAddress "*" -Port 21 Name ID State Physical Path Bindings ---- -- ----- ------------- -------- FTPRoot 2 Started ftp *:21: # 追加した FTP サイトで使用する物理フォルダーを設定 # 下例は既定で用意されている [C:\inetpub\ftproot] を設定 PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name physicalPath -Value 'C:\inetpub\ftproot' # SSL/TLS 無しでの接続を許可 PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name ftpServer.security.ssl.controlChannelPolicy -Value "SslAllow" PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name ftpServer.security.ssl.dataChannelPolicy -Value "SslAllow" # 基本認証を設定 PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name ftpServer.security.authentication.basicAuthentication.enabled -Value $true # ローカルユーザーの読み取り/書き込み許可を設定 PS C:\Users\Administrator> Add-WebConfiguration "/system.ftpServer/security/authorization" -Location FTPRoot -PSPath IIS:\ -Value @{accessType="Allow";users="*";permissions="Read,Write"} # ユーザー分離の設定 PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name ftpServer.userIsolation.mode -Value "IsolateRootDirectoryOnly" # 外部 IP アドレスを設定 (クライアントから接続可能な IP アドレス) PS C:\Users\Administrator> Set-ItemProperty "IIS:\Sites\FTPRoot" -Name ftpServer.firewallSupport.externalIp4Address -Value "10.0.0.101" # FTP サイトの物理パスに設定したフォルダー直下に [LocalUser] フォルダー作成 (ユーザー分離設定で必要) # ドメインユーザーの場合は [(FTP ルート)\(%UserDomain%)] PS C:\Users\Administrator> mkdir C:\inetpub\ftproot\LocalUser Directory: C:\inetpub\ftproot Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 1/31/2022 11:43 PM LocalUser # FTP サイトを再起動 PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\FTPRoot' # ローカルユーザー用の FTP ホームフォルダーをそれぞれ用意 # [(FTP ルート)\LocalUser\(ユーザー名)] という規則で作成 (下例は [Serverworld] ユーザー用) PS C:\Users\Administrator> mkdir C:\inetpub\ftproot\LocalUser\Serverworld PS C:\Users\Administrator> icacls "C:\inetpub\ftproot\LocalUser\Serverworld" /grant "Serverworld:(OI)(CI)(F)" processed file: C:\inetpub\ftproot\LocalUser\Serverworld Successfully processed 1 files; Failed processing 0 files |
FTP サーバー : FTP ユーザーの分離 (GUI)
|
GUI で設定する場合は以下のように実行します。
|
[2] | FTP サイトを追加します。 [スタート] - [サーバーマネージャー] を起動し、[ツール] - [インターネット インフォメーション サービス マネージャー] を開きます。 次に、左ペインで [サイト] を選択し、右クリックのメニューから [FTP サイトの追加] を開きます。 |
[3] | [FTP サイト名] には任意の管理上の名称を入力します。[物理パス] には FTP ルートフォルダーとしたい任意の物理フォルダーを指定します。 当例では既定で用意されている [C:\inetpub\ftproot] を設定します。 |
[4] | バインドの設定です。IP アドレス/ポート は既定のままで OK です。 以下の設定の場合、FTP サービスは 0.0.0.0:21 でリスンします。 [SSL] は必要に応じて設定します。 |
[5] | 認証とアクセス権の設定です。 認証には [基本認証] を設定し、[アクセスの許可] には [すべてのユーザー] を選択します。アクセス許可は [読み取り/書き込み] です。 |
[6] | FTP サイトが追加されました。左ペインで追加された FTP サイトを選択し、中央ペインで [FTP ファイアウォールのサポート] をクリックします。 |
[7] | [ファイアウォールの外部 IP アドレス] に、FTP クライアントから接続可能な IP アドレスを設定します。 |
[8] | 再び左ペインで追加された FTP サイトを選択し、中央ペインで [FTP ユーザーの分離] をクリックします。 |
[9] | [ユーザー名物理ディレクトリ] にチェックを入れて適用します。 |
[10] |
FTP ユーザー分離を有効にした場合、ユーザーそれぞれに FTP ホームとなるフォルダーが必要です。
まずは、[5] で設定した FTP サイトの FTP ルート (当例では [C:\inetpub\ftproot]) 直下に [LocalUser] というフォルダーを作成します。
その [LocalUser] フォルダー直下に、ユーザー名と同名のフォルダーを作成して、アクセス権をそれぞれのユーザーが
[読み取り/書き込み] 可能なように適用します。
以上で FTP ユーザー分離を有効にした FTP サイトの設定は完了です。クライアントコンピューターから FTP 接続して動作を確認してください。
(下例は [Serverworld] ユーザー用のフォルダー設定) |
Sponsored Link |
|