В этой пошаговой инструкции мы рассмотрим, как установить и настроить FTP сервер для простого обмена файлов на Windows Server. Во всех версий Windows Server (а также десктопных редакциях Windows 10/11) доступна встроенная роль сервера FTP, которая реализована на базе веб сервера IIS.
Содержание:
- Установка FTP сервера в Windows, создание FTP сайта
- Настройка прав доступа на FTP сервере в Windows
- Настройка изоляции FTP пользователей в Windows
- Быстрая установка и настройка FTP-сервера в Windows с помощью PowerShell
Установка FTP сервера в Windows, создание FTP сайта
Чтобы установить роль FTP сервера в Windows Server, нужно открыть консоль Server Manager, запустите мастер Add Roles and Features, разверните роль Web Server (IIS) -> FTP Server и отметьте опции FTP Service и FTP Extensibility.
В Windows 10 и 11 установить компоненты FTP сервера можно через консоль Turn Windows features on or off (команда
optionalfeatures
). Разверните компонент Internet Information Services и выберите для установки службы FTP.
После установки роли вы можете создать FTP сайт. Для управления FTP сервером в Windows используется консоль управления IIS (inetmgr).
Создайте новый FTP сайт (Sites -> Add FTP Site).
- Имя FTP сайта: MyTestSite
- Корневой каталог FTP сайта: C:\inetpub\ftproot
На следующем этапе можно выбрать сертификат для шифрования и защиты FTP трафика, которые рекомендуется использовать при передаче FTP данных через открытые сети. (подробнее о настройке FTP over SSL (FTPS) в Windows). В данном случае мы не используем шифрование (опция No SSL).
На этапе Authentication and Authorization оставьте настройки по умолчанию (мы настроим права доступа позже).
Настройка прав доступа на FTP сервере в Windows
FTP сервер на Windows поддерживает два типа аутентификации пользователей:
- Anonymous Authentication – к FTP серверу может подключиться кто угодно (в качестве имени указывается anonymous или guest, а в качестве пароля — произвольный email-адрес);
- Basic Authentication – для подключения к FTP серверу пользователь должен аутентифицироваться с помощью своей учетной записи (доменной или локальной).
В нашем случае мы разрешим только
Basic Authentication
(разверните секцию FTP Authentication в настройках сайта и включите только этот режим).
Для удобства предоставления доступа к FTP сайту, создайте локальную группу ftp_users.
Создадим локального пользователя ftp_user1 и добавим его в группу:
net user ftp_user1 /add *
net localgroup ftp_users ftp_user1 /add
Затем в эту же группу добавим доменного пользователя:
net localgroup ftp_users winitpro\kbuldogov /add
Предоставьте созданной группе ftp_users права RW на каталог C:\inetpub\ftproot.
Затем нужно разрешить доступ к сайту в консоли управления FTP. Выберите раздел FTP Authorization Rules -> Add allow Rule. Создайте правило:
- Specified roles or user groups: ftp_users (разрешить доступ к сайту для указанной группы)
- Permissions: Read + Write (разрешить и чтение и запись в FTP каталог)
Теперь пользовали могут подключиться к FTP серверу. Для подключения можно использовать любой сторонний FTP клиент, или открыть FTP прямо из проводника Windows.
Укажите в адресной строке проводника Windows адрес FTP сервера в формате
ftp://192.168.13.221/
, укажите учетную запись пользователя и пароль.
Пользователь должен увидеть список файлов и папок на FTP сервере.
В данном случае все пользователи подключаются к корню FTP сайта и видят все файлы. FTP сервер в Windows поддерживает режим изоляции, при котором для каждого пользователя создается персональный каталог.
Настройка изоляции FTP пользователей в Windows
Если вам нужно ограничить доступ FTP пользователей только к своим папкам (домашним каталогам), нужно включить режим изоляции. Откройте пункт FTP User Isolation в настройка сервера.
Первые две не предполагают изоляции пользователей:
- FTP root directory – пользователь подключается в корневой каталога ftp-сайта;
- User name directory – пользователь подключается в каталог с именем пользователя. Если каталог отсутствует, сессия начинается с корневого каталога ftp-сайта.
Следующие 3 опции представляют различные режимы работы изоляции пользователей:
- User name directory (disable global virtualdirectories) – ftp-сессия пользователя изолирована каталогом имя которого соответствует имени пользователя ftp. Пользователи видят только собственный каталог (для них он является корневым) и не могут выйти за его рамки (в вышестоящий каталог дерева FTP). Любые глобальные виртуальные каталоги игнорируются;
- User name physical directory (enable global virtual directories) – FTP-сессия пользователя ограничена (изолирована) физическим каталогом с именем учетной записи пользователя FTP. Пользователь не может перейти выше своего каталога по структуре FTP. Однако пользователю доступны все созданные глобальные виртуальные каталоги;
- FTP home directory configured in Active Directory – FTP-пользователь изолируется в рамках своего домашнего каталога, заданного в настройках его учетной записи Active Directory (свойства FTPRoot и FTPDir).
Выберите нужный режим изоляции (в этом примере я использую второй вариант изоляции ftp пользователей).
Теперь внутри каталога C:\inetpub\ftproot нужно создать персональные директории для пользователей. В зависимости от типа учетной записи, путь к домашнему каталогу будет отличаться.
Тип учетной записи | Синтаксис именования домашних каталогов |
Анонимные пользователи |
%FtpRoot%\LocalUser\Public
|
Локальная учетная запись Windows |
%FtpRoot%\LocalUser\%UserName%
|
Доменная учетная запись Windows |
%FtpRoot%\%UserDomain%\%UserName%
|
Специальные учетки IIS Manager или ASP.NET |
%FtpRoot%\LocalUser\%UserName%
|
В данном примере у меня есть два пользователя, для которых я создам следующие каталог
- Локальный пользователь ftp_user1 (
C:\inetpub\ftproot\LocalUser\ftpuser1
) - Доменный пользователь resource\kbuldogov (
C:\inetpub\ftproot\resource\kbuldogov
)
Теперь при подключении FTP пользователи будут видеть файлы только в своих персональных каталогах.
Быстрая установка и настройка FTP-сервера в Windows с помощью PowerShell
Для быстрого развертывания FTP сервера на Windows можно использовать PowerShell скрипт.
Установить роль FTP сервера в Windows Server:
Install-WindowsFeature Web-FTP-Server -IncludeAllSubFeature -IncludeManagementTools
Установка компонентов FTP в Windows 10 и 11:
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPSvc
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPExtensibility
Создать локального пользователя и группу с помощью PowerShell:
$pass = ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force
New-LocalUser -Name ftp_user1 -Password $pass
New-LocalGroup -Name ftp_users
Add-LocalGroupMember -Group ftp_users -Member ftp_user1
Создать каталог для FTP сайта, предоставить NTFS права доступа для группы ftp_group:
$ftproot='C:\inetpub\ftproot\MyFTP'
mkdir $ftproot
New-WebFtpSite -Name MyFTP -IPAddress "*" -PhysicalPath $ftproot -Port 21
icacls $ftproot /grant "ftp_group:(OI)(CI)(F)"
Разрешить подключение без SSL:
$FtpSite="IIS:\Sites\MyFTP"
Set-ItemProperty $FtpSite -Name ftpServer.security.ssl.controlChannelPolicy -Value "SslAllow"
Set-ItemProperty $FtpSite -Name ftpServer.security.ssl.dataChannelPolicy -Value "SslAllow"
Включить basic аутентификацию:
Set-ItemProperty $FtpSite -Name ftpServer.security.authentication.basicAuthentication.enabled -Value $true
Разрешить доступ к сайту для указанной группы:
Add-WebConfiguration "/system.ftpServer/security/authorization" -Location MyFTP -PSPath IIS:\ -Value @{accessType="Allow";roles="ftp_users";permissions="Read,Write"}
Если нужно ограничить к FTP сайту доступ по IP:
Set-ItemProperty $FtpSite -Name ftpServer.firewallSupport.externalIp4Address -Value "192.168.10.101"
Создайте правило в Windows Defender Firewall, которое разрешает доступ к FTP серверу:
New-NetFirewallRule -Name "FTP 21" -DisplayName "FTP 21" -Profile All -Direction Inbound -Action Allow -Protocol TCP -LocalPort 21 -Program "%windir%\system32\svchost.exe"
Перезапустить FTP сайт:
Restart-WebItem -PSPath $FtpSite
Проверьте доступность FTP сервера с помощью командлета Test-NetConnection:
Test-NetConnection -ComputerName yourftpservername -Port 21
FTP (File Transfer Protocol) — протокол передачи файлов. Применяется для передачи файлов клиентами локальной сети, а также для загрузки данных на локальные и удаленные хранилища.
Рассмотрим настройку FTP-сервера из набора IIS от компании Microsoft, создание самоподписанного сертификата, а также настройку защищенной передачи файлов.
Операционная система — Windows Server 2012 R2.
Установим Веб-сервер IIS
Запускаем Диспетчер серверов из меню Пуск или кликом по значку на панели задач.
Выбираем пункт Добавить роли и компоненты.
В новом окне выбираем, слева, Тип установки, затем Установка ролей или компонентов, кликаем по кнопке Далее.
Из предложенного пула серверов выбираем необходимый. В нашем случае он один, кликаем Далее.
В списке ролей находим Веб-сервер (IIS) и ставим галочку напротив этого пункта.
В новом окне Мастер добавления ролей и компонентов просто кликаем по Добавить компоненты. Данное окно обычно появляется при первой установке Веб-сервера (IIS). Кликаем Далее.
Слева кликаем по Служба ролей (подпункт Роль Веб-сервера (IIS)). Ставим галку напротив FTP-сервер. При необходимости устанавливаем галку напротив Расширяемость FTP. Кликаем Далее.
Проверяем компоненты для установки. При первой установке, рекомендуем установить галку в поле Автоматический перезапуск конечного сервера, если потребуется. Кликаем Установить. Важно! При первой установке Веб-сервера (IIS) будут установлены дополнительные компоненты службы.
Ожидаем завершения процесса установки. По окончании кликаем Закрыть.
Переходим к настройке сервера.
1. Открываем Администрирование. Можно из меню Пуск, но если там отсутствует этот пункт, то Пуск -> Панель управления -> Система и безопасность — > Администрирование
2. Запускаем Диспетчер служб IIS
3. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Кликаем правой кнопкой мыши по элементу Сайты и выбираем пункт Добавить FTP-сайт…
4. В новом окне Добавить FTP-сайт указываем имя и путь до каталога где будут расположены файлы. Кликаем Далее.
5. В обновленном окне указываем на каких IP-адресах будет запущен FTP-сервер (актуально, когда у сервера несколько сетевых интерфейсов либо алиасов), а также указываем порт, который будет прослушивать служба (по умолчанию 21 TCP-порт). Проверяем наличие галочки Запускать сайт FTP автоматически. В настройках SSL указываем Без SSL. Если требуется шифрование, тогда выбираем соответствующий пункт и указываем сертификат. Кликаем Далее.
6. Следующим этапом настраиваем аутентификацию. В разделе Проверка подлинности выбираем Обычный (если требуется анонимное предоставление доступа следует выбрать Анонимный). В разделе Авторизация можно гибко указать доступ для пользователей. В нашем примере разрешим доступ Всем пользователям, кроме анонимных. Разрешаем чтение и запись. Кликаем Готово.
7. В случае успешности, в окне Диспетчера служб IIS добавится строка с именем добавленного FTP-сервера (сайта). Сворачиваем или закрываем это окно. Оно нам более не понадобится.
Настраиваем брандмауэр.
1. В окне Администрирование открываем Брандмауэр Windows в режиме повышенной безопасности.
2. В открывшемся окне, в левой части, выбираем Правила для входящих подключений. В правой части кликаем по Создать правило…
3. В новом окне выбираем Предопределенные. Из выпадающего списка выбираем FTP-сервер. Кликаем Далее.
4. Отмечаем галочками все пункты, кликаем Далее.
5. Следующим шагом выбираем Разрешить подключение, кликаем Готово.
Выбранные правила будут добавлены в общий список правил входящих подключений. Для применения настроек брандмауэра следует перезагрузить сервер.
Подключиться к серверу можно любым FTP-клиентом указав IP-адрес сервера, имя пользователя и пароль, например FileZilla. Однако, доступность сервера можно проверить и с помощью Internet Explorer. В строке адреса указываем ftp://IP.адрес.нашего.сервера/ (либо доменное имя). Указываем имя пользователя и пароль.
Настройка защищенного (Secure) FTP.
Для защиты трафика рекомендуется использовать SSL-сертификаты. Можно использовать самоподписанные сертификаты либо выданные центром сертификации. Обратите внимание, что при подключении к серверу с самоподписанным сертификатом пользователь будет уведомлен об этом.
Создадим самоподписанный сертификат.
1. Запускаем Диспетчер служб IIS (см. выше Настройку сервера).
2. В открывшемся окне, в левой части, разворачиваем ветку под необходимым сервером. Выбираем Сертификаты сервера.
3. В новом окне, в правой части, выбираем Создать самозаверенный сертификат.
4. В открывшемся окне указываем имя сертификата и его тип — Личный. Кликаем Ок.
Сертификат создан. Теперь перейдем к настройке защищенного FTP.
1. В окне Диспетчер служб IIS, в левой части, разворачиваем ветку под необходимым сервером, выбираем созданный сервер. В основной части окна выбираем Параметры SSL FTP.
2. В обновленном окне, в выпадающем списке, выбираем созданный сертификат, либо выданный центром сертификации, если такой имеется. Выбираем Требовать SSL-соединения. В правой части окна выбираем Применить. Закрываем окно, если необходимо.
Для подключения к защищенному FTP-серверу рекомендуем использовать программу WinSCP.
Файловый протокол — FTP
Шифрование — Явное шифрование TLS/SSL (TLS/SSL Explicit encryption)
Имя узла — IP-адрес или доменное имя.
Порт — 21, либо который был указан.
Имя и пароль пользователя системы.
Кликаем Войти (Login)
Аverage rating : 3.7
Оценок: 3
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
700
300
FTP — это стандартный протокол передачи файлов по сетям TCP/IP. Протокол настолько распространен, что как сервер так и клиент входят в ОС Windows и большинство дистрибутивов Linux/Unix.
В ОС Windows FTP-сервер является частью служб IIS (Internet Information Services). Для того чтобы установить ftp-сервер необходимо предварительно установить роль “Веб-Сервер (IIS)”. Для этого нажмите комбинацию клавиш Win+R для запуска командной строки и введите туда servermanager.
<
Далее запустить мастер установки ролей и компонентов нажав кнопку “добавить роли и компоненты”.
<
Выйдет страница приветствия на которой можно просто нажать “вперед”, а также поставить галочку “Пропускать эту страницу по умолчанию”, если вы не хотите постоянно видеть эту страницу при запуске мастера установки ролей и компонентов.
<
Далее ОС уточнит что именно вы хотите сделать — просто добавить роли и компоненты или установить службы удаленного доступа. Выберем установку ролей и компонентов.
<
Далее спрашивается на какие сервера устанавливать роли и компоненты. У вас может быть несколько серверов и они могут быть объединены в пул для централизованного управления с одной консоли. Также роль может быть установлена на виртуальный жесткий диск. Выберем интересующий нас сервер и нажмем далее.
<
На этом этапе необходимо выбрать роль, которую мы желаем установить на выбранный нами на предыдущем шаге сервер. В данном случае это роль “Веб-сервер (IIS)”.
<
Далее ОС предложит дополнительно установить необходимые компоненты — следует согласиться, нажав кнопку добавить компоненты.
<
Далее можно добавить дополнительные компоненты — добавим tftp-клиент для возможности проверки нашего сервера с этой машины.
<
Далее выведется информационное сообщение о том что такое роль iis.
<
Так как служба IIS — большой продукт, то далее спросится о том какие именно компоненты следует установить — нас интересует ftp-сервер. Остальные компоненты можно оставить как есть или отключить, если не хотите ставить лишние компоненты. Оставим только собственно сервер ftp и консоль управления.
<
Далее выведется финальное предупреждение о том, что роль IIS готова к установке. Нажмите установить. Можно также поставить галочку “Автоматический перезапуск конечного сервера, если требуется” чтобы не перезапускать сервер вручную. Следует иметь ввиду, что нажатие этой галочки перезапускает конечный сервер после установки без дополнительных предупреждений, поэтому используйте ее с осторожностью.
<
После запуска процесса установки можно закрыть это окно нажатием кнопки закрыть. Это действие не отменяет процесс установки, а только скрывает текущее окно.
<
Посмотреть, как идет процесс и сколько их запущено, можно, нажав белый флаг.
<
В данном случае мы видим что установка уже завершена. Можно приступать к настройке
<
Для настройки перейдем в оснастке “диспетчер сервера” во вкладку IIS, выберем сервер и нажмем правую кнопку мыши. Выбираем из него “Диспетчер служб IIS”
<
Слева в дереве подключений находим наш сервер и разворачиваем его двойным щелчком мыши. Встаем на закладку “Сайты” и нажимаем правую кнопку мыши. В появившемся контекстном меню выбираем “Добавить ftp-сайт”.
<
На первой вкладке задаем имя сайта и папку которую будем публиковать. Нажимаем далее.
<
На следующей вкладке определим по каким ip-адресам сайт будет доступен и нужно ли ssl-шифрование (без ssl — небезопасное соединение без сертификатов, требовать ssl — разрешает только доверенные соединения, разрешить ssl — оба подключения доступны), насколько оно обязательно и запускать ли сайт автоматически. Поставим без ssl.
<
На последней вкладке выставляем тип авторизации пользователей — анонимная и/или обычная (локальная или доменная), а также тип — на чтение или на запись. Если есть необходимость добавить разрешение на запись, то необходимо учесть что пользователь, подключающийся к ftp должен иметь разрешение на запись в папку ftp-сервера. Для анонимных пользователей обычно используется запись IUSR.
<
Для проверки достаточно в проводнике windows набрать ftp://<имя компьютера> после чего можно попробовать что-то положить на сервер и/или скачать оттуда.
<
На этом установка простого ftp-сервера с анонимным доступом на Windows Server 2012 окончена. В нашей базе знаний есть ещё множество полезных статей по настройке Windows Server, а если вы ищите быстрый и производительный виртуальный сервер на Windows, то его можно заказать здесь.
Последнее обновление: 25.09.2024
Средняя оценка: 5,0, всего оценок: 1
Спасибо за Вашу оценку!
К сожалению, проголосовать не получилось. Попробуйте позже
FTP — file transfer protocol. It is used for transferring files by local network clients, as well as for uploading data to local and remote storage.
Consider configuring an FTP server from the Microsoft IIS Suite, creating a self-signed certificate, and configuring secure file transfer.
Operating System — Windows Server 2012 R2.
Install the IIS Web Server
We start the Server Manager from the Start menu or by clicking on the icon on the taskbar.
Select Add roles and components.
In the new window, select, on the left, the Installation Type, then Install roles or components, click the «Next» button.
From the proposed server pool, select the necessary one. In our case, he is alone, click «Next».
In the list of roles, we find the Web server (IIS) and put a tick in front of this item.
In the new window, the Add Roles and Features Wizard simply click on «Add components». This window usually appears when you first install Web Server (IIS). Click «Next».
On the left, click on the Role Service (sub-item Web Server Role (IIS)). We put a daw in front of the FTP server. If necessary, check the box next to FTP Extensibility. Click «Next».
We check the components for installation. At the first installation, we recommend that you check the box in the Automatically restarts the destination server, if necessary. Click «Install». Important! The first time you install Web Server (IIS), additional service components will be installed.
We are waiting for the installation process to complete. In the end, click «Close».
We proceed to configure the server
- Open Administration. You can from the Start menu, but if this item is not there, then Start -> Control Panel -> System and Security -> Administration
- Launch IIS Manager
- In the window that opens, on the left side, expand the branch under the necessary server. Right-click on the «Sites» element and select «Add FTP Site» …
- In the new window Add FTP Site, specify the name and path to the directory where the files will be located. Click «Next».
- In the updated window, specify on which IP addresses the FTP server will be launched (it is important when the server has several network interfaces or aliases), and also indicate the port that the service will listen on (by default, 21 TCP ports). Check for the presence of the Start FTP site automatically. In the SSL settings, specify Without SSL. If encryption is required, then select the appropriate item and specify the certificate. Click «Next».
- The next step is to configure authentication. In the Authentication section, select Normal (if anonymous access is required, select «Anonymous»). In the Authorization section, you can flexibly specify access for users. In our example, we will allow access to all users except anonymous. Allow reading and writing. Click “ Done ”
- If successful, a line with the name of the added FTP server (site) will be added to the IIS Manager window. Roll up or close this window. We will no longer need it.
Configuring the firewall
- In the Administration window, open Windows Firewall in Advanced Security mode.
- In the window that opens, in the left part, select the «Rules» for incoming connections. In the right part, click on «Create rule» …
- In the new window, select «Predefined». From the drop-down list, select the FTP server. Click «Next».
- We tick off all the items, click «Next».
- The next step is to select Allow connection, click «Done».
The selected rules will be added to the General list of incoming connection rules. To apply the firewall settings, you must restart the server.
You can connect to the server with any FTP client by specifying the server IP address, username and password, for example, FileZilla. However, server availability can also be checked using Internet Explorer. In the address bar, specify ftp: //IP.address.our.server/ (or domain name). Specify the user name and password.
Configure Secure FTP
To protect traffic, it is recommended to use SSL certificates. You can use self-signed certificates or issued by a certification authority. Please note that when connecting to a server with a self-signed certificate, the user will be notified about this.
Create a self-signed certificate
- We start the IIS Manager (see Server setup above).
- In the window that opens, on the left side, expand the branch under the necessary server. Select «Server Certificates».
- In the new window, on the right side, select «Create a self-signed certificate».
- In the window that opens, specify the name of the certificate and its type — «Personal». Click «OK».
The certificate has been generated. Now let’s move on to setting up secure FTP.
- In the IIS Manager window, on the left side, expand the branch under the necessary server, select the created server. In the main part of the window, select «FTP SSL Settings».
- In the updated window, in the drop-down list, select the created certificate, or issued by a certification authority, if any. Select «Require SSL Connection». In the right part of the window, select «Apply». Close the window, if necessary.
To connect to a secure FTP server, we recommend using WinSCP.
File Protocol — FTP
Encryption — TLS/SSL Explicit encryption
Host name — IP address or domain name.
Port — 21, or which was specified.
Name and password of the system user.
Click «Login».
1101
CT Amsterdam
The Netherlands, Herikerbergweg 292
+31 20 262-58-98
700
300
ITGLOBAL.COM NL
1101
CT Amsterdam
The Netherlands, Herikerbergweg 292
+31 20 262-58-98
700
300
ITGLOBAL.COM NL
Прочитано: 4 266
Сегодня я задокументирую шаги, как поднять FTP сервис на операционной системе Windows Server 2012 R2 Standard. Ранее я уже выкладывал во всеобщее обозрение свою пошаговую заметку по настройке FTP на Server 2008 R2 SP1, да оно работает и по сей день. Сейчас же я хочу сделать все то же самое и под Server 2012 R2, за исключение что выкладывать для всех я не намерен. Я потратил кучу времени чтобы разобраться, как и что, а выложив в публичный доступ, на мне все кому нужна данная задача, просто заработают. А потому я только за платный доступ к собственным реальным наработкам. Ведь опыт приобретается с таким трудом.
Дальнейшие действия выполняю с правами Администратора на серверной операционной системе:
Шаг №1: Нажимаю Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Add roles and features — Role-based or feature-based installation — Select a server from the server pool (srv-host: 10.7.8.177) отмечаю роль: Web Server (IIS), затем нажимаю по умолчанию Add Features (Web Server (IIS) — Management Tools — [Tools] IIS Management Console) → Нажимаю Next → Нажимаю Next → а теперь устанавливаю компоненты FTP роли Web Server (IIS):
FTP Server (FTP Service, FTP Extensibility) и нажимаю Next, Install, ожидаю:
или все то же самое выше, но через консоль командной строки запущенной с правами администратора:
Win + X — Command Prompt (Admin)
C:\Windows\system32>cd /d %systemroot%\system32\WindowsPowerShell\v1.0\
C:\Windows\System32\WindowsPowerShell\v1.0>powershell.exe
PS C:\Windows\System32\WindowsPowerShell\v1.0> Install-WindowsFeature Web-FTP-Server
После не забываем перезагрузиться сервер вне зависимости как происходила установки сервиса FTP:
PS C:\Windows\System32\WindowsPowerShell\v1.0> shutdown /r /t 3
Когда система загрузилась, авторизовываемся (хотя можно настроить AutoLogon для удобства) и продолжаем.
Шаг №2: Далее создаем каталог где будут располагаться файлы будущего FTP сервиса для обмена:
Win + X — Command Prompt (Admin)
C:\Windows\system32>mkdir c:\ftpfolder
Права на каталог должны быть следующими, отключено наследование и:
- группа SYSTEM — Full Control
- группа Administrators — Full Control
- группа Users — Удалена
- добавлена группа NETWORK SERVICE — права до уровня Modify, не полные (т. е. Не Full Control).
Шаг №3: Далее создаем новый FTP сайт:
Win + X — Control panel — Administrative Tools — Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — и через правый клик мышью на Sites выбираю: => Add FTP Site…
- FTP site name: srv-host
- Physical path: c:\ftpfolder
Далее отмечаю на каком интерфейсе будет работать данный сервис:
Binding:
- IP Addresses: выбираю текущий IP адрес системы, в моем случае: 10.7.8.177
- Port: 21
- Start FTP site automatically: отмечаю галочкой
- SSL: пока не буду задействовать, это тема отдельной заметки и поэтом отмечаю: No SSL
На заметку: позже можно будет сменить порт если возникнет нужда.
После нажимаю Next, далее определяю как и под кем будет происходит аутентификация на FTP ресурсе:
- Authentication: Basic
- Authorization:
- Allow access to: Specified users
и указываю имена учетных записей: ftpuser1,ftpuser2
- Permissions: отмечаю галочкой Write
и нажимаю Finish.
Шаг №4: Теперь нужно создать данные выше учетные записи и присвоить им пароли, но вот в чем проблема нужной оснастки у меня нет, значит по аналогии, как в Server 2008 R2 нужно доустановить отсутствующие компоненты IIS:
Нажимаю Win + X → Control Panel — Administrative Tools — Server Manager — Dashboard — Add roles and features — Role-based or feature-based installation — Select a server from the server pool (srv-host:10.7.8.177) — разворачиваю роль Web Server (IIS) (11 of 43 installed) — Management Tools (1 of 7 installed) — и отмечаю галочками:
- IIS 6 Management Compatibility
- IIS 6 Metabase Compatibility
- IIS 6 Management Console
- IIS 6 Scripting Tools
- IIS 6 WMI Compatibility
- IIS Management Scripts and Tools
- Management Service
В процессе возникнет окно установки зависимостей, не забываем согласиться с установкой тоже.
и нажимаю Next, Next, отмечаю галочкой, что по завершении процесса установки компонентов IIS следует перезагрузить сервер (Restart the destinations server automatically if required) и нажимаю Install.
Шаг №5: А теперь возвращаемся к созданию логина и пароля:
Нажимаю Win + X → Control Panel — Administrative Tools — Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — IIS Manager Users — Add User…
- User name: ftpuser1
- Password: Aa1234567@!
- Confirm password: Aa1234567@!
И еще одну учетную запись создаю с логином: ftpuser2.
Шаг №6: Далее нужно определить что доступ к FTP ресурсу будет осуществлен с использованием созданных учетных записей IIS, а не учетных записей системы:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) – Sites – srv-host – FTP Authentication – через правый клик мышью вызываю мастер: Custom Providers… и регистрирую провайдера IisManagerAuth.
Привожу настройки теперь к виду:
- Anonymous Authentication: Disabled
- Basic Authentication: Disables
- IisManagerAuth: Enable
Шаг №7: После запускаю оснастку управления/назначения прав на FTP (либо чтение, либо запись):
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) — Sites — srv-host – FTP Authorization Rules и определяю права доступа → Add Allow Rule… –
- Specified users: ftpuser1,ftpuser2
- Permissions: Read & Write отмечаю галочками.
Шаг №8: Запираем пользователей FTP ресурса данным каталогом указанным в самом начале:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) — Sites — srv-host – FTP User Isolation:
- Do not isolate users. Start users. In: FTP root directory
Шаг №9: После изменяю, что по дефолту авторизация на FTP будет происходить только с применением специальных пользователей (созданных в оснастке IIS), а не Windows пользователей и Windows пользоваталей:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager – Start Page – SRV-HOST(SRV-HOST\Administrator) –
(Management) Management Service:
- Enable remote connections: отмечаю галочкой
- Identity Credentials: Windows credentials or IIS Manager credentials
А после не забываем сохранить внесенные изменения нажатием на кнопку Apply.
Шаг №10: Затем следует поправить права на каталог IIS сервера:
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config" /G "Network Service":R /E
processed dir: C:\Windows\System32\inetsrv\config
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config\administration.config" /G "Network Service":R /E
processed file: C:\Windows\System32\inetsrv\config\administration.config
C:\Windows\system32>CACLS "%SystemDrive%\Windows\System32\inetsrv\config\redirection.config" /G "Network Service":R /E
processed file: C:\Windows\System32\inetsrv\config\redirection.config
C:\Windows\system32>iisreset /stop
C:\Windows\system32>iisreset /start
Шаг №11: Затем добавляю, что к моему ресурсу с FTP Root каталогом (c:\ftpfolder) должны иметь доступ созданные пользователи IIS:
Win + X → Control Panel – Administrative Tools – Internet Information Services (IIS) Manager — SRV-HOST (SRV-HOST\Administrator) — Sites — srv-host — (Management) IIS Manager Permissons — Allow user… –
Select the type of user: отмечаю IIS Manager нажимаю Select и выбираю пользователей: ftpuser1,ftpuser2 и нажимаю OK
После проверяю, что сервис поднялся и ожидает соединения на 21 порт:
Win + X → Command Prompt (Admin) -
C:\Windows\system32>netstat -a | findstr /I ":21"
TCP 0.0.0.0:21 srv-host:0 LISTENING
TCP [::]:21 srv-host:0 LISTENING
Шаг №12: Проверяю, как работает подключение через проводник:
Win + X — File Explorer — и в строке адреса указываем по следующему синтаксису обращение к FTP сервису: ftp://10.7.8.177:21/ и нажимаем клавишу Enter, следом появляется окно аутентификации, указываем:
- User name: ftpuser1
- Password: Aa1234567@!
и нажимаем кнопку Log On, после авторизация проходит успешно и я могу создавать файлы, папки, удалять, переименовывать.
Итого работает.
Только после советую проверить подключение с другой станции к этому FTP сервису, если подключение не происходит, то нужно проверить наличие включенных правил брандмауэера или отключить его
Win — X — Command prompt (Admin):
C:\Windows\system32>netsh advfirewall set allprofiles state off
а после с Ubuntu системы проверить, открыт ли 21 порт через который работает FTP сервис по умолчанию:
ekzorchik@srv-mail:~$ sudo nmap -p21 10.7.8.177
Starting Nmap 6.40 ( http://nmap.org ) at 2017-03-29 08:59 MSK
Nmap scan report for 10.7.8.177
Host is up (0.00073s latency).
PORT STATE SERVICE
21/tcp open ftp
MAC Address: 08:00:27:9B:68:4A (Cadmus Computer Systems)
Nmap done: 1 IP address (1 host up) scanned in 0.48 seconds
Видно, что порт открыт, значит и удаленное подключение можно произвести, как с Ubuntu системы так и с рабочей станции через утилиту FileZilla.
Вот собственно и все действия которые необходимо проделать чтобы на серверной системе Windows Server 2012 R2 Standard поднять сервис FTP для передачи файлов. Хочу отметить, что для защиты каталога от возможного заражения поставить на текущую систему FSRM с запретом записи исполняемых файлов и уведомлением по почте если такая попытка происходит. А также настройка квоты на FTP каталог. На этом всё, с уважением автор блога Олло Александр aka ekzorchik.