LoginSignup
4
0

More than 1 year has passed since last update.

Windows IISでFTPサーバーを立てる

Posted at

この記事で出来るようになること

  • IISでFTPサーバーを立てる
  • ユーザー毎にアクセス可能なディレクトリを制限する
  • 見せたくないフォルダだけ非表示にする

FTPサーバーの設定

IISを起動し、FTPサイトを追加します。
image.png

FTPサイト名 と 物理パス を入力します。
今回はFTPのルートをC:\inetpub\ftproot\とします。
image.png

SSLは無し(必要に応じて設定してください)
image.png

認証は基本を選択し、アクセス許可を「すべてのユーザー」、読み書きあり で設定します。
image.png

FTPサイトが追加されたことを確認します。
image.png

FTPユーザーの作成

管理者権限でPowershellを開き、以下のコマンドを実行します。

powershell
# net user [ユーザー] [パスワード] /add
net user ftp-user ftp-user /add

FTPルート配下にユーザーフォルダを作成し、権限を付与します。
※ユーザーフォルダの親フォルダであるLocalUserの名称は固定です。

powershell
# FTPサーバーのルートディレクトリへ移動
cd C:\inetpub\ftproot\

# ユーザーフォルダの作成
mkdir -p LocalUser\ftp-user

# ユーザーフォルダに変更権限を付与
icacls LocalUser\ftp-user /grant ftp-user:`(OI`)`(CI`)M

権限がftp-userに設定されていることを確認します。
image.png

FTPコマンドで接続の確認を行います。

powershell
# FTPで接続の確認
ftp

ftp> open 127.0.0.1
# 127.0.0.1 に接続しました。
# 220 Microsoft FTP Service
# 200 OPTS UTF8 command successful - UTF8 encoding now ON.
ユーザー (127.0.0.1:(none)): ftp-user
# 331 Password required
パスワード: ftp-user
# 230 User logged in.

ユーザーの分離設定

概要

ユーザーの分離設定は、ユーザー毎に見える範囲を制限することができ、他人のフォルダを参照出来ないようにします。
また、ユーザーフォルダをルートディレクトリとすることにより、上位の階層へのアクセスを遮断します。

設定方法

FTPホームから「FTPユーザーの分離」を開きます。
image.png

「ユーザー名ディレクトリ(グローバルな仮想ディレクトリを無効にします)」を選択し、適用します。
image.png

適当なフォルダを作成し、ユーザーフォルダより上位のフォルダが参照できないことを確認します。
image.png

# 230 User logged in.
ftp> ls
# 200 PORT command successful.
# 125 Data connection already open; Transfer starting.
# folder
# 226 Transfer complete.
# ftp: 11 バイトが受信されました 0.00秒 11000.00KB/秒。
ftp> pwd
# 257 "/" is current directory.
ftp> cd ..
# 250 CWD command successful.
ftp> pwd
# 257 "/" is current directory.

以上でユーザーの分離設定の説明は終わりです。

非表示セグメントの設定

概要

非表示セグメントは、特定の見せたくないフォルダなどを非表示にすることが出来ます。

設定方法

まず適当に非表示にしたいフォルダを作成し、先ほど作成したフォルダが見れることを確認します。
image.png

ftp> ls
# 200 PORT command successful.
# 125 Data connection already open; Transfer starting.
# folder
# 見せられないよ
# 226 Transfer complete.
# ftp: 34 バイトが受信されました 0.00秒 34.00KB/秒。

次にFTPホームから「FTP要求フィルター」を選択します。
image.png

コンテキストメニューから「非表示セグメントの追加」を選択します。
image.png

非表示にしたいファイル名を入力し、OKを押します。
image.png

再度FTPでアクセスし、非表示セグメントに設定したフォルダが表示されなくなったことを確認します。

ftp> ls
# 200 PORT command successful.
# 125 Data connection already open; Transfer starting.
# folder
# 226 Transfer complete.
# ftp: 11 バイトが受信されました 0.00秒 11000.00KB/秒。

以上で非表示セグメントの説明は終わりです。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0