FTP のアカウントごとにフォルダを分ける (Windows Server)
動作確認環境
- Windows Server
-
- Windows Server 2022
- IIS (Internet Information Services)
-
- 10.0
はじめに
Windows Server で FTP サーバーを構築した後、複数のアカウントを作成してもアクセスできるフォルダは一つです。 ここではアカウントごとにフォルダを作成し、アクセスできるフォルダを分ける方法について説明します。
Windows Server に FTP サイトをセットアップ
手順については以下の記事に記載していますのでそちらを参照してください。
なお今回は複数のアカウントを作成するのでまだアカウントは作成していない状態です。
フォルダは「C:\FtpFolder\」を作成していますが権限設定はしていません。
FTP サイト設定時の認証のアクセス許可については「基本認証+Windows アカウント」で管理するので「すべてのユーザー」を選択します。 アクセス許可は読み取りと書き込み両方にチェックを入れます。 間違えて設定した場合でも後で変更できます。
FtpTest という名前でサイトを構築します。
Microsoft FTP Service は再起動しておいてください。
複数アカウントの作成
FTP のアカウントは Windows アカウントを使用します。必要な数だけ作成してください。 ここでは「FtpUser1」「FtpUser2」「FtpUser3」というアカウントを作成します。
Windows アカウントとしてログインすることはないのでグループはすべて削除しておいてください。
アカウントごとのフォルダの作成
作成した FTP のルートフォルダのの中に「LocalUser」という名前のフォルダを作成します。この名前は固定です。
このフォルダの中に各アカウントごとのフォルダを作成します。
作成したアカウントごとのフォルダのプロパティを開き、セキュリティタブから編集ボタンをクリックします。
アクセス可能なアカウントを追加し「変更」のアクセス許可にチェックをつけて登録します。
他に作成したフォルダの権限も設定してください。
FTP ユーザーの分離
アカウントを作成しただけでは FTP のルートのフォルダにアクセスしてしまいます。これをフォルダごとに分離できるように設定します。
IIS マネージャーを開き作成した FTP サイトを選択します。一覧の中から「FTP ユーザーの分離」をダブルクリックして開きます。
FTP ユーザーの分離のページから「ユーザー名ディレクトリ (グローバルな仮想ディレクトリを無効にします)」にチェックをいれて右上の「適用」リンクをクリックします。
動作確認
FTP クライアントはなんでもいいですがここでは WinSCP を使用して確認してみます。 以下の図は FtoUser2 でアクセスしてみたときのものです。
試しにテキストファイルを送信してみました。FTP 先のパスはルートとなっています。
FTP 先の環境を見てみるとファイルはアカウントごとのフォルダに入っていることが確認できると思います。
このようにしてアカウントごとにアクセスできるフォルダを分けることができました。