Я запускаю FTP-сервер IIS 6 на компьютере с Windows Server 2003 (давайте назовем его FTPPC), подключенным к домену (давайте назовем его DOMAIN).
Разрешить анонимные подключения отключено, поэтому пользователю требуется учетная запись домена для подключения к ftp. Пользователь подключается к ftp, используя DOMAIN \ USERNAME
Корень ftp указывает на E: \ FTP-ROOT \, а внутри находятся 2 папки: \ PATH1 \ \ PATH2 \
Существует виртуальный каталог с именем PATH1, указывающий на общий ресурс UNC на другом компьютере в домене (называемый DOMAINPC), для которого установлено значение «всегда использовать учетные данные аутентифицированных пользователей». При подключении к ftp пользователь может перейти к нему и успешно увидеть его содержимое.
Существует также виртуальный каталог с именем PATH2, указывающий на общий ресурс UNC на компьютере, который НЕ ПОДКЛЮЧЕН к домену (называется NODOMAINPC).
Я создал пользователя на NODOMAINPC с именем USER1 и создал одно и то же имя пользователя на FTPPC с одинаковым паролем для обеих учетных записей.
В разделе «Подключиться как» для виртуального каталога PATH2 я пробовал несколько вещей с разными результатами:
Установите имя пользователя на FTPPC \ USER1 - при попытке просмотра виртуального каталога через ftp выдается ошибка «Доступ запрещен». Установите имя пользователя на NODOMAINPC \ USER1 - при попытке просмотра виртуального каталога через ftp возникает ошибка «Ошибка входа в систему. : неизвестный пользователь или неверный пароль "Задайте имя пользователя USER1 - при попытке просмотра виртуального каталога по ftp появляется ошибка" Доступ запрещен "
Это можно сделать? И если да, то где я ошибаюсь? Я могу подключиться к UNC-пути через Windows, но не через ftp.
Спасибо
Это действительно странно. Я настраиваю описанную вами конфигурацию с IIS, работающим на контроллере домена, а не на рядовом сервере, и виртуальный каталог, настроенный для использования вошедшего в систему пользователя. Это сработало. Затем я попробовал это с IIS, работающим на сервере, не являющемся доменом, и он тоже сработал. К сожалению, IIS, работающий на рядовом сервере домена, - это единственная конфигурация, которую я не могу проверить.
Затем я настроил виртуальный каталог для подключения как nondomainpc \ administrator. На DC это не сработало, но на сервере, не принадлежащем к домену, это сработало.
Я запустил сетевой монитор, чтобы посмотреть, и когда виртуальный каталог на контроллере домена настроен на использование учетной записи администратора ПК, не являющегося контроллером постоянного тока, контроллер домена попытался установить анонимное соединение. Он не пытался использовать имя пользователя nondomainpc \ administrator, которое я настроил для виртуального каталога. Мне это кажется ошибкой.
Обратите внимание, что виртуальный каталог действительно работал на контроллере домена при использовании вошедшего в систему пользователя, а в вашем случае - нет. Однако я заметил, что контроллеры домена обычно не обращают внимания на бит «host» в имени пользователя «host \ user», предположительно потому, что на контроллере домена нет SAM, поэтому я бы не придал этому большого значения. Рядовой сервер предположительно передает имя пользователя, вошедшего в систему, как «домен \ пользователь», а ваш сервер, не являющийся контроллером домена, отклоняет его.
Что касается решения вашей проблемы, все, что я могу предложить, - это переместить FTP-сервер на DC или сервер вне домена, но я думаю, что ни один из этих вариантов не будет слишком привлекательным :-(
JR
Если вы думаете об этом, ваш компьютер передает токен учетных данных на FTP-сервер, поскольку вы уже прошли аутентификацию домена. Однако FTP-сервер не может передать этот токен NODOMAINPC, поскольку он не распознает токен (он не распознает контроллер домена как таковой).
Я думаю, что единственный вариант, который у вас есть, - это то, что все пользователи подключаются к общему ресурсу UNC как учетные данные учетной записи службы FTP. Очевидно, что все пользователи фактически имеют одинаковые разрешения NTFS ACL.
Поскольку вам все равно придется реплицировать все имена пользователей / пароли с использованием вашего исходного подхода, почему бы просто не сбросить IIS и использовать сервер FileZilla или аналогичный и установить все разрешения для каждого пользователя на FTP-сервере? Я считаю, что разрешения FTP в IIS в большей степени мешают, чем помогают.