Передача файлов Apache FreeBSD

Никому не нужен веб-сервер без веб-страниц. Мои веб-сайты, созданные на базе FreeBSD, выглядят отвратительно.1 Профессиональные веб-дизайнеры обычно проектируют сайты на своих рабочих станциях, а затем выгружают их на сервер. Стандартным способом передачи файлов являются FTP и sftp/scp.

FTP, File Transfer Protocol (протокол передачи данных) – это классический протокол для переноса файлов с одного компьютера на другой по Интернету. Большинство пользователей предпочтут использовать FTP. Как и многие другие протоколы, FTP со временем не стал лучше. Он с трудом работает в современных средах. За долгие годы в спецификации накопилось столько исправлений, что протокол стал похож на ужасное творение Франкенштейна, которое падает, как только администратор сети отвернется хотя бы на секунду. Хотя система FreeBSD обеспечивает максимально легкое обслуживание FTP, требуется немного поработать, чтобы этот протокол продолжал с пыхтением двигаться вперед.

Безопасность FTP

Пароли и имена пользователей передаются по FTP открытым текстом, поэтому обладатель анализатора пакетов может перехватить эту информацию. Никто в локальной сети, за исключением сетевого администратора, не должен обладать анализатором пакетов, но если ваши пользователи находятся в удаленных сетях или за кабельными модемами, их пароли под угрозой.

Будучи системным администратором, никогда, никогда, никогда не передавайте по сети свой пароль открытым текстом! Вместо этого для переноса файлов между машинами используйте scp(l) или sftp(l).

Замечу, что мои веб-сайты отвратительны вовсе не потому, что созданы на базе FreeBSD. Сделать их привлекательными не дают свойственные мне цинизм, сарказм и грубость.

Клиент FTP

FTP – достаточно сложный протокол. В отличие от РОРЗ и SMTP, его трудно протестировать с помощью команды telnet(l). Для работы с FTP нужен FTP-клиент. Для подключения к хосту достаточно набрать команду ftp и указать имя хоста.

# ftp sardines

Connected to sardines.blackhelicopters.org.

220 sardines.blackhelicopters.org FTP server (Version 6.00LS) ready. Name (sardines:mwlucas):

По умолчанию клиент посылает локальное имя пользователя, однако при необходимости можно ввести другое имя. Далее будет запрошен пароль:

331 Password required for mwlucas. Password:

230 User mwlucas logged in. Remote system type is UNIX. Using binary mode to transfer files. ftp>

Если все идет, как задумано, то в результате вы зарегистрируетесь на удаленном сервере с оболочкой, подобной командному интерпретатору. Выполнять команды вы не сможете, но сможете перемещаться и просматривать файлы с помощью стандартных команд UNIX, таких как is и cd.

Для загрузки файла по FTP служит команда get с именем файла:

ftp> get .cshrc

local: .cshrc remote: .cshrc

229 Entering Extended Passive Mode (|||50451|)

150 Opening BINARY mode data connection for ‘.cshrc’ (614 bytes).

100%      614 272.17 KB/s 00:00 ETA

226 Transfer complete.

614 bytes received in 00:00 (193.48 KB/s)

ftp>

Как видите, клиент FTP открывает соединение для передачи файла. По мере загрузки файла по экрану движется строка из звездочек (*). Значение в поле ЕТА обновляется в соответствии с временем, оставшимся до окончания загрузки. По завершении передачи файла вы увидите извещение, размер загруженного файла и приглашение FTP на ввод команды.

Для выгрузки файла из локальной системы на сервер FTP служит команда put. Вывод этой команды практически такой же, как у команды get, поэтому я не буду повторять его здесь.

Для перемещения сразу нескольких файлов предназначены команды mget и input. Например, если требуется загрузить все файлы с расширением .html, введите команду mget *. html. Единственная неприятность состоит в том, что сервер будет запрашивать подтверждение перед передачей каждого файла. Включить или выключить запрос подтверждения можно с помощью команды prompt.

Наконец, по FTP можно просматривать содержимое текстовых файлов. Команда less отображает содержимое удаленного файла по одной странице, как и обычная команда less(l). Просматривать файлы и затем загружать их – нелепо, но зато с помощью less удобно просматривать содержимое README и индексных файлов.

Передача двоичных и ASCII-файлов

Различие между передачей двоичных и ASCII-файлов – постоянный источник путаницы из-за того, что по-разному обрабатываются символ возврата и символ разделителя строк. С давних пор в системах DOS и UNIX конец строки обозначался по-разному, что можно увидеть при передаче файлов между двумя системами. В Интернете можно найти много документов, детально описывающих это различие. Есть много статей, в которых сторонники двух систем жестко критикуют противоположные подходы. Вам же надо лишь знать, как действовать в сложившейся обстановке.

Можно передавать и двоичные, и текстовые файлы в двоичном режиме, но нельзя передавать двоичные файлы в режиме ASCII. В UNIX-подоб- ных системах по умолчанию используется двоичный режим, а в операционной системе Windows – режим ASCII. Команда bin предписывает серверу FTP выполнять двоичную передачу, а команда а – передачу в режиме ASCII. Двоичный режим подходит для обоих случаев, поэтому применяйте именно его, и у вас не будет проблем.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий