Сетевые средства Linux
Шрифт:
Глава 21
FTP-серверы
Протокол FTP (File Transfer Protocol — протокол передачи файлов) существует давно и пользуется большой популярностью в Internet. Он обеспечивает обмен файлами между компьютерами, подключенными к сети. FTP-клиенты могут копировать файлы с сервера и, если позволяет конфигурация сервера, передавать информацию на сервер. Иногда FTP-сервер может заменить Web-сервер или файловый сервер, но в большинстве случаев его можно рассматривать как дополнение к этим средствам. В ряде ситуаций наличие FTP-сервера на компьютере не оправдано. Если вы приняли решение установить FTP-сервер, можете воспользоваться для этой цели различными программами, ориентированными на работу в системе Linux. По умолчанию программы, реализующие FTP-серверы, настроены для выполнения
Использование FTP-сервера
FTP-сервер имеет некоторое сходство с Web-сервером, рассмотренным в главе 20, а также с серверами Samba и NFS, предназначенными для разделения файлов (о них шла речь в главах 7 и 8). Все эти серверы позволяют передавать файлы с одного компьютера на другой и в некоторых ситуациях взаимозаменяемы. Однако каждый из этих протоколов имеет свои особенности, определяющие выбор сервера для решения определенного круга задач. Ниже описаны основные отличия FTP-сервера от серверов HTTP, Samba и NFS.
• Аутентификация. Для того чтобы пользователь мог работать с FTP-сервером, он должен зарегистрироваться на нем, указав пользовательское имя и пароль. (Исключением является анонимный FTP-сервер, который будет описан ниже.) При работе с Web-сервером аутентификация обычно не требуется, хотя существуют средства, позволяющие настроить Web-сервер для проверки имени и пароля. Что же касается серверов, предназначенных для разделения файлов, то некоторые из них проверяют имя пользователя и пароль, другие выполняют аутентификацию, анализируя лишь IP-адрес.
• Использование учетных записей. Особенности аутентификации, выполняемой FTP-сервером, позволяют применять его для предоставления пользователям доступа к принадлежащим им файлам с удаленных компьютеров. Подобным образом могут использоваться серверы NFS и Samba. Web-сервер также позволяет пользователям работать с их файлами, но тот же уровень доступа он предоставляет всем желающим. Для обеспечения защиты информации при работе с Web-сервером приходится принимать дополнительные меры.
• Шифрование. Стандартные FTP-серверы не выполняют шифрование данных, в том числе имени пользователя и пароля. Это создает опасность при передаче информации через Internet. Исключением в данном случае являются анонимные FTP-серверы, при использовании которых шифрование информации не имеет смысла. Существуют защищенные версии FTP, поддерживающие кодирование передаваемых данных. Защиту информации, которая передается средствами FTP, обеспечивают также средства Kerberos, которые рассматривались в главе 6. В обычных условиях Web-серверы не выполняют шифрование данных, хотя при необходимости такая возможность реализуется достаточно просто. Сервер Samba может быть настроен для шифрования паролей и прочей информации. NFS не использует пароли, поэтому о кодировании паролей речь не идет. Что же касается данных, передаваемых средствами NFS, при необходимости шифрование их может осуществляться. Программы
Если используемый вами пароль передается по Internet в незакодированном виде, вы должны регулярно изменять его. При этом злоумышленник, получивший пароль незаконным способом, будет иметь меньше возможностей нанести вред системе.
• Поддержка соединения. Подобно Samba и NFS, при обмене данными по протоколу FTP поддерживается постоянное соединение. Пользователь может зарегистрироваться на FTP-сервере, бездействовать в течение длительного времени (столько, сколько позволяет установленное значение тайм-аута), а затем скопировать файл с сервера. Web-серверы действуют совершенно по-другому; в рамках соединения может быть передан один, в крайнем случае несколько файлов. FTP коренным образом отличается от других
• Непосредственная обработка файлов. Серверы, предназначенные для разделения файлов, например NFS и Samba, предоставляют возможность обрабатывать удаленные файлы так, как будто они расположены на локальном компьютере. Например, пользователь может загрузить файл с удаленной машины в текстовый редактор, внести в него необходимые изменения и снова сохранить на удаленном компьютере. При этом файл на локальный диск не копируется. Ни FTP, ни HTTP не обеспечивают подобной возможности. Если доступ к удаленному компьютеру может осуществляться только посредством протокола FTP или HTTP, то, для того, чтобы отредактировать файл, вы должны сначала скопировать его на локальную машину, внести и сохранить изменения, а затем снова передать файл на сервер. Существуют средства, позволяющие организовать разделение файлов с помощью протокола FTP. В системе Linux такую возможность предоставляет продукт Linux FTP Filesystem (
• Двунаправленная передача данных. Серверы, предназначенные для разделения файлов, и FTP-сервер позволяют передавать данные с сервера на клиентскую машину и наоборот. При необходимости системный администратор имеет возможность запретить запись файлов на диск сервера. Web-серверы в основном применяются для передачи данных с сервера на клиентский компьютер, но в протоколе HTTP предусмотрена также возможность передавать информацию на сервер.
• Работа клиентов на различных платформах. FTP- и Web-серверы взаимодействуют с клиентами, выполняющимися в любой операционной системе, поддерживающей TCP/IP; не является исключением даже система DOS. В отличие от FTP и HTTP, протоколы разделения файлов ориентированы на конкретную платформу: сервер NFS работает с клиентами UNIX и Linux, a Samba — с клиентами DOS, Windows и OS/2. Пытаясь обеспечить межплатформенную совместимость протоколов разделения файлов, вы неизбежно столкнетесь с проблемами представления прав доступа, атрибутов файлов и другими ограничениями. При этом вам также приходится обеспечивать взаимодействие с клиентскими программами, многие из которых распространяются на коммерческой основе.
• Трудозатраты при настройке сервера. По умолчанию в системе Linux устанавливается конфигурация FTP-сервера, предоставляющая пользователям такие же права чтения и записи файлов, которые они получили бы, зарегистрировавшись на компьютере. Если вас устраивает подобное поведение сервера, его настройка займет крайне мало времени. Чтобы обеспечить подобное взаимодействие с серверами NFS, Samba и HTTP, вам придется внести существенные изменения в их конфигурационные файлы. С другой стороны, чтобы установить анонимный FTP-сервер, надо приложить определенные усилия для его настройки, в то время как в других серверах подобный принцип взаимодействия с пользователями реализован по умолчанию.
Таким образом, средства FTP удобно использовать для решения следующих двух задач.
• Обслуживание локальных пользователей. Если на компьютере под управлением Linux существуют учетные записи для некоторых пользователей, FTP-сервер позволит этим пользователям копировать свои файлы с сервера на удаленный компьютер либо с удаленной машины на сервер. Подобный тип доступа к данным менее удобен по сравнению с разделением файлов, но для настройки FTP-сервера от вас, как от системного администратора, потребуется меньше времени и усилий. Межплатформенная совместимость также является существенным преимуществом FTP-сервера.