■ Различные правила именования файлов
■ Различные правила перемещения по каталогам файловой системы
■ Ограничения на доступ к файлам
■ Различные способы представления текста и данных внутри файлов
Разработчики стека протоколов TCP/IP старались найти не слишком сложное решение этих проблем и создали достаточно общий, но очень элегантный
Протокол FTP создан для взаимодействия с интерактивным конечным пользователем или прикладной программой. Мы ограничимся рассмотрением интерактивных служб этого протокола для конечного пользователя, всегда доступных во всех реализациях TCP/IP.
Пользовательский интерфейс разработан для клиента пересылки файлов операционной системы Berkeley Unix (BSD) и далее перенесен на различные типы многопользовательских компьютеров. В этой главе мы рассмотрим диалоги конечного пользователя с текстовым интерфейсом, а также несколько графических интерфейсов для настольных компьютеров.
Основные функции пересылки файлов разрешают пользователю копировать файлы между системами, просматривать списки каталогов и выполнять файловые операции, подобные переименованию или удалению. Все эти функции являются частью стандартного стека протоколов TCP/IP.
В конце главы мы проанализируем
14.2 Общедоступный и личный доступ FTP
Компьютерные системы обычно требуют от пользователя идентификатор регистрации и пароль до того, как разрешить пользователю просматривать или манипулировать файлами. Однако иногда полезно создать возможность работы с общедоступными файлами. FTP обеспечивает как общедоступное совместное использование информации, так и частный доступ к файлам, предлагая два вида услуг:
■ Доступ к общедоступным файлам через анонимную регистрацию
■ Доступ к личным файлам, разрешенный только для пользователя с системным идентификатором регистрации и паролем
14.2.1 Вводный диалог
Представленный ниже диалог демонстрирует копирование из сайта AT&T InterNIC Data Services (общедоступного репозитария документов RFC).
Сегодня многие имеют на своих настольных системах графические пользовательские интерфейсы (GUI) для пересылки файлов. С одним из таких интерфейсов мы познакомимся ниже. Однако текстовый интерфейс позволяет лучше понять происходящие в процессе пересылки файлов события, поэтому сначала мы познакомимся с подключением к InterNIC через текстового клиента.
Архив файлов InterNIC доступен для всех, так что при регистрации мы будем вводить идентификатор
Приглашение
> ftp ftp.internic.net
Команда ftp запускает пользовательский
интерфейс программы-клиента FTP. Пользователь хочет соединиться с удаленным хостом
Connected to ftp.ds.internic.net.
Локальный клиент FTP отчитывается
об успешном соединении.
220- InterNIC Directory and
Database Services
Это сообщение пришло от удаленной системы.
220- . . .
Мы опустим приветствие.
220 ds.internic.net FTP server ready.
Name (ftp.internic.net:sfeit) : ftp
Локальная клиентская программа FTP
запрашивает ввод идентификатора пользователя. Для InterNIC нужно ввести
331 Guest login ok, send ident
as password.
Password:
Локальная клиентская программа FTP
запрашивает пароль. Вежливый ответ подразумевает ввод идентификатора электронной почты.
230 Guest login ok, access restrictions apply.
Ftp>
Это приглашение запрашивает ввод команд.
ftp> cd rfc
Пользователь переходит в удаленный каталог
в котором и хранятся документы RFC.
250 CWD command successful.
Команда изменения каталога (cd) пересылается
на сервер как CWD (изменить рабочий каталог). Каталог сервера изменяется на rfc, и можно начинать копирование документов RFC.
ftp> get rfc1842.txt myrfc
Запрашивается копирование файла
для чего будет создано второе соединение.
200 PORT command successful.
Локальный клиент FTP получил второй порт
и послал на сервер команду PORT, указывая серверу на соединение через этот порт.
150 Opening ASCII mode data
connection for rfc1842.txt
(24143 bytes).
Открытие соединения для пересылки файла.
226 Transfer complete.
Завершение пересылки файла.
local: newfile remote: rfcl842.txt
Создан новый локальный файл.
24818 bytes received in 0.53 seconds
(46 Kbytes/s)
ftp> quit
Завершение сеанса.
221 Goodbye.
Первая команда запрашивала у сервера переход в каталог