Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » FTP сервер на базе IIS 6.0 с использованием AD изоляцией пользователей.

Ответить
Настройки темы
FTP сервер на базе IIS 6.0 с использованием AD изоляцией пользователей.

Новый участник


Сообщения: 14
Благодарности: 3

Профиль | Отправить PM | Цитировать


Добрый день, Форумчане. Сегодня написшу miniHOWTO на тему:
FTP сервер на базе IIS 6.0 с использованием AD изоляцией пользователей и разрешением анонимного доступа!
Длинно? - Да, но если найдется такой же извращенец-новичок как и я, то, наверное, спасибо скажет.
Почему FTP на базе IIS 6.0? А мне тогда было лень искать и изучать сторонние продукты.
Что мне было нужно: Мне нужна была 1 база для пользователей, и ее дублирование я не хотел допускать!
База, понятное дело, это AD. Используя документацию MS - мне не хватало данных для полного понимания процесса.
В тексте будут использованы материалы от MS, которые, я буду дополнять своими коментариями. Думаю со вступлением закончили,

поехали.

1. Создание нового FTP-узла с изоляцией пользователя с помощью режима Active Directory.

http://technet2.microsoft.com/window....mspx?mfr=true

В режиме Изолировать пользователей, используя Active Directory подлинность учетных данных пользователей проверяется в

соответствующем контейнере Active Directory вместо поиска по всей службе каталогов Active Directory, для чего требуется

много времени.

Примечание:
Для этого режима требуется сервер Active Directory, выполняющийся под управлением операционной системы из семейства Windows

Server 2003. Служба каталогов Active Directory из Windows 2000 также может использоваться, но для этого необходимо вручную

расширить схему объекта пользователя. Дополнительные сведения об установке сервера Active Directory см. в центре справки и

поддержки для Windows Server 2003.


Для обеспечения целостности данных и изоляции каждому пользователю могут назначаться определенные экземпляры FTP-сервера.

Когда объект пользователя находится в контейнере Active Directory, свойства msIIS-FTPRoot и msIIS-FTPDir извлекаются для

обеспечения полного пути к корневому каталогу пользователя. Если службе FTP удается получить доступ к этому пути,

пользователь размещается в пределах домашнего каталога, представляющего коренное расположение FTP. Пользователь видит только

собственное коренное расположение FTP и, следовательно, не может переместиться выше по дереву каталогов. Пользователь

получает отказ в доступе, если какое-либо из свойств, msIIS-FTPRoot или msIIS-FTPDir, не существует, или если пара этих

свойств не представляет действительный и доступный путь.

Важно:
Для осуществления описанных ниже процедур необходимо быть членом группы «Администраторы» локального компьютера. В целях

безопасности рекомендуется входить в систему с учетной записью, не включенной в группу «Администраторы», а затем

использовать команду runas для запуска диспетчера IIS от имени администратора. В командной строке введите

runas/user:Administrative_AccountName"mmc %systemroot%\system32\inetsrv\iis.msc".

Чтобы создать FTP-узлы с изоляцией пользователя, используя режим Active Directory

1. В диспетчере IIS разверните ветвь локального компьютера, щелкните правой кнопкой мыши папку Узлы FTP, выделите пункт

Создать и выберите команду FTP-узел.

2. В окне мастера создания FTP-узла нажмите кнопку Далее.

3. В поле Описание FTP-узла введите описание FTP-узла и нажмите кнопку Далее.

4. В поле Настройка IP-адреса и порта введите IP-адрес и порт, а затем нажмите кнопку Далее.

5. В окне Изоляция пользователя FTP выберите параметр Изолировать пользователей, используя Active Directory и нажмите

кнопку Далее.

6. В текстовом поле Имя пользователя введите имя пользователя в формате Domain\User, или найдите имя пользователя, нажав

кнопку обзора. Выберите пользователя с минимальными привилегиями домена. Это имя пользователя используется для доступа к

Active Directory и чтения свойств домашнего каталога.

7. В поле Пароль введите пароль пользователя.

8. В поле Введите домен Active Directory, используемый по умолчанию введите имя домена или осуществите его поиск с помощью

кнопки обзора.

Примечание:
Это имя домена используется для пользователей, которые не указывают собственный домен при входе. Другими словами,

подлинность пользователя, подключающегося с именем Domain1\User1, будет проверяться в домене Domain1, а подлинность

пользователя, подключающегося с именем User2, будет проверяться в домене по умолчанию. Если домен по умолчанию не задан, а

пользователи не указывают имя домена, в доступе будет отказано всем пользователям, кроме анонимных. Вводите только основное

доменное имя, а не полное имя. Например, следует вводить MyDomain, а не MyDomain.dept.microsoft.com.


9. Нажмите кнопку Далее. Будет предложено повторить ввод пароля пользователя, введенного на предыдущих шагах.

10. Включите разрешения на чтение и запись соответствующим образом, нажмите кнопку Далее и нажмите кнопку Готово.


Вобщем-то если пройтись по этим шагам, то не получится ровным счетом НИЧЕГО!
Описание про msIIS-FTPRoot или msIIS-FTPDir, мне было совсем мне не понятно. Далее разобрался, что этот параметр хранится в

BD AD, далее стал искать, как его задать!

2.Задание параметров msIIS-FTPRoot и msIIS-FTPDir.

http://technet2.microsoft.com/window....mspx?mfr=true

Более-менее понятное описание было мной найденно.

iisftp /setadprop
С помощью этой команды выполняется настройка свойств Active Directory для конкретного пользователя локального или удаленного

компьютера.

Синтаксис
iisftp[.vbs] /setadpropUserID{FTPDir | FTPRoot}значение_свойства[/sкомпьютер [/u [домен\]пользователь [/pпароль]]]

Параметры
UserID
Обязательный параметр. Указывает идентификатор пользователя Active Directory для входа в систему.
FTPDir|FTPRoot
Требуется для установки изоляции пользователя. Устанавливает изоляцию либо на уровне каталога, либо на уровне корня.
значение_свойства
Требуется для установки изоляции пользователя. Задает значение каталога или корня изоляции.
/s компьютер
Запускает сценарий на указанном удаленном компьютере. Введите имя компьютера или IP-адрес без обратных косых черт. По

умолчанию сценарий выполняется на локальном компьютере.
/u [домен\]пользователь
Выполняет сценарий с разрешениями указанной учетной записи пользователя. Эта учетная запись должна входить в группу

«Администраторы» на удаленном компьютере. По умолчанию сценарий выполняется с разрешениями текущего пользователя на

локальном компьютере.
/p пароль
Задает пароль учетной записи пользователя, определенной параметром /u. Если этот параметр пропущен, сценарий выводит

приглашение для ввода пароля и скрывает введенный текст.
/?
Отображает справку в командной строке.

На практике у меня получалось, что обе эти переменные, при извлечении, образуют единый путь для пользователя FTP.
И что они обе должны быть заданы. Если одна из переменных не задана, или их сопоставление не образует единый правильный

логический путь, пользователь не получит доступа на сервер!

Вот мой пример команд для задания переменных msIIS-FTPRoot и msIIS-FTPDir:

iisftp /Setadprop IUSR_servername FTPRoot s:
iisftp /Setadprop IUSR_servername FTPDir \

ИЗ примера мне стало понятно, что эти переменные всего лишь хранят в себе строковые значения.

С первой частью все. В принципе, пользователю можно зайти на FTP, будет выведено окно авторизации и пользователю будет нужно

ввести свои учетные данные. Но если Вам хочется облегчить жизнь не только себе, но и пользователю, дав доступ к общей

информации без явной авторизации для пользователя, а разделять доступ в других местах сайта (пример. Общекорпоративная

информация может быть доступна для всех пользователей, но может существовать необходимость разделения доступа среди

отделов!). Если это интересно или необходимо, пойдем дальше.

4. Разрешение анонимного доступа для узла FTP с настройкой режима изоляции пользователей с использованием Active Directory.

http://technet2.microsoft.com/window....mspx?mfr=true

По умолчанию для узлов, созданных в режиме Изолировать пользователей, используя Active Directory, анонимный доступ отключен.

Чтобы разрешить анонимный доступ для узлов FTP с включенным режимом «Изолировать пользователей, используя Active Directory»

• Настройте свойства метабазы, как показано в следующем примере. Это можно сделать с помощью средства командной строки

adsutil.vbs SET.

• adsutil set /msftpsvc/6634/AllowAnonymous TRUE

• adsutil set /msftpsvc/6634/AnonymousOnly FALSE

• adsutil set /msftpsvc/6634/AnonymousUserName MyDomain\LowPrivUser

• adsutil set /msftpsvc/6634/AnonymousUserPass PaSsWoRd



Примечание:
Если узел создан в режиме «Изолировать пользователей, используя Active Directory», свойство Path для корневого виртуального

каталога FTP (которое для других режимов изоляции определяет домашний каталог) пустое. Кроме того, свойство AccessFlags

корневого виртуального каталога FTP содержит флаг AccessNoPhysicalDir. Не меняйте два этих значения. В случае их изменения

или удаления доступ к этому узлу в дальнейшем будет запрещен.

В общем-то все понятно, команды прозрачны для понимания, да и типы переменных Boolean и String. Но что это за странный

элемент пути 6634? Меня это стало интересовать после того, как я случаянно (по незнанию), указал эти парамеры по каталогу 1,

после того как система сказала мне, что каталога 6634 не существует! Начались тотальные поиски и изучение работы утилиты

adsutil. Чтобы узнать номер каталога вашего FTP сервера, необходимо просмотреть весь подкаталог /msftpsvc/.
Это можно сделать, набрав команду adsutil enum_all. Лучше перенаправить выгрузку результатов (а их будет много) в файл:
adsutil enum_all >c:\1.txt.
Далее идем по указанному пути, открываем файл и поиском ищем имя вашего FTP сервера, которое вы указывали мастеру создания

FTP сайта. После того как нашли, тут же сможете увидеть полный путь FTP сайта, и номер директории в нем. Вот пример моей

конфигурации:

[/MSFTPSVC/1364068556]
KeyType : (STRING) "IIsFtpServer"
ServerState : (INTEGER) 2
ServerComment : (STRING) "FTPADIS"
ServerBindings : (LIST) (1 Items)
":57:"

ServerAutoStart : (BOOLEAN) True
AllowAnonymous : (BOOLEAN) False
DefaultLogonDomain : (STRING) "contoso.com"
Win32Error : (INTEGER) 0
UserIsolationMode : (INTEGER) 2
ADConnectionsUserName : (STRING) "contoso\IUSR_servername"
ADConnectionsPassword : (STRING) "**********"
ServerCommand : (INTEGER) 1

Номер моей директории - 1364068556, имя сервера - FTPADIS.
Теперь, владея всей информацией выполняем вышеуказанные команды, но уже с исправленными значениями!

• adsutil set /msftpsvc/1364068556/AllowAnonymous TRUE

• adsutil set /msftpsvc/1364068556/AnonymousOnly FALSE

• adsutil set /msftpsvc/1364068556/AnonymousUserName MyDomain\LowPrivUser

• adsutil set /msftpsvc/1364068556/AnonymousUserPass PaSsWoRd

Все, после этих операций, пользователь, сможет анонимно входить на ваш FTP сервер, в качестве анонимной учетной записи

будет выступать IUSR_servername. Создавая пользователей в AD, раздавая доступ на файловую систему, и соответственно настроив

FTP сервер для пользователей, Вы сможете ограничивать доступ на различные папки сервера. Спасибо за прочтение!
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:42, 25-09-2008

 

Новый участник


Сообщения: 14
Благодарности: 3

Профиль | Отправить PM | Цитировать


P.S. Уважаемые форумчане, дополню содержание несколькими моментами:

1. Скрипт ADSUTIL начинает корректно отображать список каталогов, только в том случае, когда установлена служба WWW, в противном случае скрипт выдаст ошибку во время попытки обращения к списку каталогов.

2. Перенос FTP сервера.
Сегодня закончил перенос сервера FTP на другую машину. Все настройки сохранял в файл (такая функция есть в GUI IIS) на прежнем сервере и импортировал их на новом, при этом пришлось переделать следующее:

2.1 При наличае виртуальных папок, пути придется переназначить.

2.2 Переменные msIIS-FTPRoot и msIIS-FTPDir мне тоже пришлось переназначать.

Вот появился вопрос, как автоматизировать назначение переменных, т.к. это может сделать только админ и только на сервере с IIS? Вот проблемка...

Отправлено: 23:32, 25-10-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » FTP сервер на базе IIS 6.0 с использованием AD изоляцией пользователей.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FTP на IIS exo Microsoft Windows NT/2000/2003 4 12-02-2009 17:47
Создание пользователей FTP на IIS в Win2003 des2000 Microsoft Windows NT/2000/2003 1 05-06-2008 08:18
аутентификация IIS FTP talich2006 Microsoft Windows NT/2000/2003 3 19-07-2007 18:04
iis ftp server streamer Microsoft Windows NT/2000/2003 0 31-07-2006 16:05
FTP и IIS 5 deadman Сетевые технологии 1 05-01-2005 18:29




 
Переход