![]() |
Лабиринт InternetПавел Храмцов, Электронинформ, 1996. |
Протокол FTP | Cервер ftpd | Клиент ftp |
Технология FTP была разработана в рамках проекта ARPA и была предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, и поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP протокол.
Модель протокола выглядит следующим образом:
+--------------+ +------------+ | интерфейс |-------|пользователь| | пользователя | +------------+ +--------------+ | +-------------+ +--------------+ |интерпретатор| Упр. | интерпретатор| |протокола |-------| протокола | |сервера | канал | пользователя | +-------------+ +--------------+ +---------+ +--------------+ +------------+ |программа| канал | программа | | | +----|передачи |-----------| передачи |--------|файловая | | |данных | данных | данных | |система | | |сервера | | пользователя | |пользователя| | +---------+ +--------------+ +------------+ | +---------+ | файловая| | система | | сервера | +---------+ Рис.1. Диаграмма протокола FTP.
В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора пользователя средствами.
Команды FTP определяют параметры канала передачи данных и самого процесса передачи. Они также определяют и характер работы с удаленной и локальной файловыми системами.
При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.
Канал данных устанавливается для того же host-а, что и канал управления, через который ведется настройка канала данных. Канал данных может быть использован, как для приема, так и для передачи данных.
Канал управления должен быть открыт при передаче данных между машинами. В случае его закрытия передача данных прекращается.
ftpd [-d] [-1] [-t timeout]
-d -опция отладки.
-1 -опция автоматической идентификации пользователя.
-t -время пассивного ожидания команд пользователя.
Каждый сервер имеет свой help по командам, который можно получить по команде help. Автоматическая идентификация пользователей осуществляется при помощи файла /etc/passwd. Пароль пользователя не должен быть пустым.
Существует специальный файл, в котором содержатся запрещенные пользователи, т.е. те, кому обслуживание по протоколу FTP запрещено. Возможен вход в архив по идентификатору пользователя anonimous или ftp. В этом случае сервер принимает меры по ограничению доступа к ресурсам компьютера со стороны данного пользователя. Обычно для таких пользователей создается специальная директория ftp, в которой размещают каталоги bin,etc и pub. В каталоге bin размещаются команды разрешенные для использования пользователем, а в каталоге pub собственно сами файлы. Каталог etc закрыт для просмотра пользователем, и в нем размещены файлы идентификации пользователей.
Команда ftp работает с пользователем и ожидает его команд, то на экране отображается приглашение "ftp>".
Синтаксис команды :
ftp [-v][-d][-i][-n][host]
-v -подавляет ответы сервера и статистику передачи данных.
-n -управляет режимом идентификации пользователя. Если указан этот ключ, то
сначала проверяется файл .netrc.
-i -выключает подтверждения передачи файла при массовом копировании файлов.
-d -включает режим отладки.
-g -отключает прозрачность передачи имен.