IIS

Материал из RSU WiKi
Перейти к: навигация, поиск
Pen.pngЭта статья находится в процессе написания.
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Содержание

Задачи и цели

Настроить полноценный хостинг на Windows Server 2008 Web Edition.

Active Directory FTP User Isolation

Подготовка компонентов

Необходимо установить на сервер недостающий компонент "FTP-сервер", а также консоль его управления. Управление ftp-сервером производится оснасткой "Диспетчер служб IIS 6.0". С помощью нее создаем новый узел, воспользовавшись мастером.

Среди предложенных вариантов выбираем пункт "Изолировать пользователей, используя AD". Создаем на контроллере домена пользователя с минимальными привилегиями домена. Это имя пользователя используется для доступа к Active Directory и чтения свойств домашнего каталога. Выбираем в открывшемся поле домен, из которого будет осуществляться выборка.

Переменные среды

Для каждого пользователя AD имеются переменные вида msIIS-FTPRoot и msIIS-FTPDir. По умолчанию они не определены. Первая переменная указывает на корневой каталог ftp-сервера. В нашем примере это будет c:\inetpub\ftproot. Вторая переменная определяет собственно каталог пользователя. При авторизации из профиля пользователя на AD ftp-сервер будет пытаться извлекать эти переменные. Если они не будут определены, будут ссылаться на несуществующий каталог или же у пользователя не будет прав на доступ к существующему каталогу, авторизация закончится неудачей. Переменная msIIS-FTPDir может принимать как обычные строковые значения, так и значения типа:

%a = Account Name

%f = First Name

%l = Last Name

%e = Employee Number

%i = Employee ID

Очевидного способа для задания этих переменных найти не удалось. Существует программа, написанная на С#, неплохо справляющаяся с этой задачей.

Скачать можно здесь: http://blog.crowe.co.nz/Attachments/FTPUserEditor/setup.msi

Права доступа

После назначения переменных среды необходимым пользователям переходим в корневой каталог ftp-сервера (c:\inetpub\ftproot). Здесь создаем папки пользователей, именованные согласно значению переменной msIIS-FTPDir. Даем права на чтение/запись конкретным пользователям или группам пользователей.

Настройка брандмауэра

По умолчанию, брандмауэр Windows открывает для входящих соединений только 21 TCP порт. Этого достаточно для успешной авторизации на сервере, но мало для создания/редактирования/удаления контента из папки пользователя, так как для правильного функционирования сервиса нужно два активных подключения.

В командной строке вводим следующее:

 netsh advfirewall firewall add rule name="FTP (no SSL)" action=allow protocol=TCP dir=in localport=21

(чтобы убедиться, что 21 порт все-таки открыт)

 netsh advfirewall set global StatefulFtp enable 

(данная команда заставляет брандмауэр динамически открывать порты для подключений типа ftp-DATA)

См. также

Личные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты