Udostępnij za pośrednictwem


Zmiany w usłudze Microsoft FTP

W tym artykule opisano niektóre zmiany wprowadzone w usłudze Microsoft FTP 7.5 lub nowszych wersjach.

Oryginalna wersja produktu: Internet Information Services
Oryginalny numer KB: 2505047

Niektóre opcje wiersza polecenia NLST nie działają

W bieżącej wersji protokołu FTP klient FTP może używać tylko -Copcji wiersza polecenia , -1, -l, -F, -alub -A za pomocą polecenia NLST. Na przykład -r opcja (dla odwrotnego kierunku sortowania) i -t opcja (sortuj według czasu ostatniego zapisu) nie będzie już działać. Ponieważ te opcje wiersza polecenia nie są udokumentowane w dokumencie RFC, firma Microsoft może zmienić implementację w przyszłej wersji protokołu FTP.

Połączenia danych FTP są ustanawiane i rozłączane asynchronicznie w tle

Nawiązywanie i rozłączanie połączenia danych FTP jest przetwarzane w tle odpowiedzi dla połączenia sterującego. Bieżąca wersja protokołu FTP uruchamia trzykierunkowe uzgadnianie w celu nawiązania połączenia danych przed zwróceniem polecenia 200 PORT pomyślnie jako odpowiedzi na PORT polecenie do połączenia sterującego. 226 Transfer complete response zwraca jako odpowiedź LIST poleceń i RETR do połączenia sterującego przed zakończeniem uzgadniania rozłączenia połączenia danych.

Skrypt IisFtp.vbs nie jest obsługiwany za pomocą protokołu FTP

W bieżącej wersji protokołu FTP skrypt IisFtp.vbs nie jest już obsługiwany i nie jest dołączany jako część pakietu instalacyjnego FTP. W związku z tym funkcja korzystająca z biblioteki IisFtp.vbs wymaga różnych akcji w bieżącej wersji protokołu FTP. Na przykład IIsFtp.vbs /setadprop polecenie dostępne w usługach Internet Information Services (IIS) 6.0 w celu utworzenia witryny FTP w trybie izolacji usługi Active Directory nie może być używane w bieżącej wersji protokołu FTP. Zamiast tego użyj edytora ADSI, aby ustawić msIIS-FTPRoot właściwości i msIIS-FTPDir , aby wskazać katalogi główne w trybie izolacji usługi Active Directory.

Edytor ADSI to edytor ldap (Lightweight Directory Access Protocol), którego można użyć do zarządzania obiektami i atrybutami w usłudze Active Directory. Jest on instalowany domyślnie na kontrolerach domeny systemu Windows Server i musi być instalowany ręcznie na serwerach członkowskich.

Istnieją trzy główne kroki konfigurowania użytkowników izolowanych w trybie usługi Active Directory:

  • W usługach IIS utwórz i skonfiguruj witryny FTP do izolowania.
  • Skonfiguruj serwery plików.
  • Skonfiguruj usługę Active Directory.

Aby utworzyć i skonfigurować lokacje FTP do izolowania, zobacz Izolacja użytkowników usługi FTP w usłudze Active Directory.

Podczas konfigurowania serwerów plików należy utworzyć udziały i katalogi użytkowników dla wszystkich użytkowników, którzy mogą łączyć się z usługą FTP, w tym użytkownika skonfigurowanego do personifikacji użytkowników anonimowych. Przed wykonaniem tego kroku należy wziąć pod uwagę czynniki, takie jak oczekiwane użycie miejsca na dysku, zarządzanie magazynem i ruch sieciowy.

Aby skonfigurować usługę Active Directory, możesz użyć edytora ADSI zamiast iisFtp.vbs. Aby skonfigurować lokację FTP w trybie izolacji usługi Active Directory, wykonaj następujące kroki:

  1. Wybierz pozycję Start, wybierz pozycję Uruchom, a następnie wprowadź ciąg adsiedit.msc , aby uruchomić Edytor ADSI.
  2. W razie potrzeby połącz się z domeną serwera FTP. Domyślnie nawiązuje połączenie z domeną, do którą należy kontroler domeny.
  3. W okienku konsoli rozwiń domenę serwera FTP, rozwiń węzeł %Nazwa domeny%, a następnie wybierz pozycję CN=Użytkownicy.
  4. W okienku szczegółów kliknij prawym przyciskiem myszy pozycję CN=%Użytkownik%, a następnie wybierz pozycję Właściwości.
  5. Na karcie Edytor atrybutów wybierz pozycję msIIS-FTPRoot lub msIIS-FTPDir, a następnie wybierz pozycję Edytuj.
  6. Edytuj, a następnie wybierz przycisk OK.

Protokół FTP zwraca odpowiedź 125 lub 150, gdy klient FTP wysyła polecenie wymagające połączenia danych w trybie pasywnym

We wcześniejszych wersjach usług IIS usługa FTP zwraca już otwarte połączenie danych 125; transfer odpowiedzi początkowej dla APPE, STOUi STOR poleceń wysyłanych przez klientów FTP, gdy klient i serwer komunikują się za pośrednictwem połączenia w trybie pasywnym. Ponadto protokół FTP zwraca 150 stan pliku w porządku. Informacje o otwarciu APPEodpowiedzi na połączenie danych dla poleceń , STOUi STOR za pośrednictwem połączeń trybu aktywnego.

W bieżącej wersji protokołu FTP komunikat odpowiedzi nie zależy od tego, czy żądanie połączenia danych jest w trybie pasywnym, czy w trybie aktywnym. Zamiast tego, jeśli połączenie danych zostało już nawiązane, ftp odpowiada na 125 Połączenie danych już otwarte; rozpoczęcie transferu. Jeśli połączenie danych nie zostało jeszcze nawiązane, protokół FTP odpowiada z 150 stanem pliku w porządku; o otwarciu połączenia danych.

Uwaga 16.

Bieżąca wersja protokołu FTP nie rozpoczyna nawiązywania połączenia danych dla PASV polecenia lub EPSV do momentu rozłączenia połączenia danych dla wcześniejszego żądania FTP.

Protokół FTP zwraca odpowiedź o błędzie 451, jeśli klient FTP nie używa crLF jako końca wiersza

We wcześniejszych wersjach usług IIS usługa FTP zaakceptowała zarówno CRLF znak końcowy, jak i LF jako znak końcowy. W bieżącej wersji protokołu FTP użycie jako LF znacznika końca wiersza nie jest już obsługiwane. Zgodnie z RFC 959 FTP powinien przestrzegać specyfikacji protokołu Telnet, gdzie CRLF jest jedynym prawidłowym znacznikiem końca linii. Jeśli klient FTP próbuje zakończyć wiersz z LF, ftp zwraca następujący komunikat o błędzie:

451 Parametr jest niepoprawny.

Ftp resetuje połączenie danych, jeśli klient FTP próbuje użyć portu niższego niż 1024 dla połączenia danych

We wcześniejszych wersjach usług IIS klient FTP może użyć portu niższego niż 1024 dla połączenia danych, zarówno w trybie pasywnym, jak i w trybie aktywnym komunikacji FTP. W bieżącej wersji protokołu FTP, gdy klient FTP próbuje użyć portu niższego niż 1024 dla połączenia danych, ftp resetuje bazowe połączenie TCP. Jeśli na przykład klient FTP spróbuje przekazać plik w trybie pasywnym przy użyciu STOR polecenia i spróbuje użyć portu niższego niż 1024 dla połączenia danych, przekazywanie kończy się niepowodzeniem, a następujące wpisy są zapisywane w dzienniku FTP:

2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 40063 DataChannelOpened - - 0 0
2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 40063 DataChannelClosed - - 1236 38
2012-01-15 02:08:16 123.456.789.0 user01 123.1.1.1 21 STOR file.txt 425 1236 0

Uwaga 16.

W przypadku przekazywania FTP w trybie aktywnym przy użyciu portu danych mniejszego niż 1024 stan Win32 wynosi 87 zamiast 1236.

Takie zachowanie występuje, ponieważ w bieżącej wersji protokołu FTP porty z zakresu od 0 do 1023 są teraz zarezerwowane dla procesów systemowych lub dla programów wykonywanych przez uprzywilejowanych użytkowników.

FUNKCJA RETR FTP dla otwartych plików

W bieżącej wersji protokołu FTP RETR(GET) w przypadku plików, które są już otwierane przez inny proces (a nie usługa FTPSVC) kończy się niepowodzeniem z powodu błędu ERROR_SHARING_VIOLATION.

Więcej informacji

Aby uzyskać więcej informacji na temat bieżącej wersji protokołu FTP, zobacz następujące artykuły: