13557
Комментарий: typo
|
14633
|
Удаления помечены так. | Добавления помечены так. |
Строка 3: | Строка 3: |
=== Установка === | === Установка FTP-сервера === |
Строка 11: | Строка 11: |
Поясним сперва, почему какого-либо одного пакета было бы недостаточно. Первая причина заключается в следующем. Программ, предоставляющих нужную нам функциональность, в хранилище более одной: это proftpd, vsftpd (которую мы и собираемся использовать), pure-ftpd. Дерево каталогов, которое соответствует содержимому FTP-сервера, не должно быть жестко привязано к какому-то конкретному пакету, но в то же время должно создаваться при развертывании сервера. Именно за это и отвечает пакет anonftp: | Поясним сперва, почему одного пакета FTP-сервера vsftpd недостаточно. Первая причина заключается в следующем. Программ, предоставляющих нужную нам функциональность, в хранилище более одной: это proftpd, vsftpd (которую мы и собираемся использовать), pure-ftpd. При этом дерево каталогов, которое соответствует содержимому FTP-сервера, не должно быть жестко привязано к пакету какому-то конкретного FTP-сервера, но в тоже время должно создаваться при развертывании сервера. Именно за это и отвечает пакет anonftp: |
Строка 18: | Строка 18: |
Есть, впрочем, и вторая причина. В дистрибутивах ALT Linux, уделяющих большое внимание безопасности, включено множество разных "защит от дурака". В данном случае установка FTP-сервера (например, vsftpd) и его запуск "в лоб" не должны приводить к его автоматическому включению в режиме доступа на запись для всех желающих. | Есть, вторая причина существования пакета anonftp. В дистрибутивах ALT Linux, уделяющих большое внимание безопасности, включено множество разных "защит от дурака". В данном случае защита заключается в следующем: установка FTP-сервера и его запуск с настойками по-умолчанию не должны приводить к его автоматическому включению в режиме доступа на запись для всех желающих. |
Строка 20: | Строка 20: |
Итак, требуемые пакеты в систему установлены. Займемся их включением. Сервер vsftpd (от ''Very Secure FTP Daemon'') использует при своей работе сетевой мета-сервер xinetd. Для настройки того, какие службы запускаются в системе в процессе инициализации, используется утилита chkconfig. Используемая в ПСПО версия этой утилиты умеет управлять системными службами разного типа: как оформленными в стиле сценариев "start-stop", котореы располагаются в {{{/etc/init.d/}}}, так и использующими мета-сервер xinetd. При применении chkconfig из командной строки администратор избавлен от необходимости запоминать различный синтаксис для этих двух групп. Посмотрим, какие службы сейчас включены: | Итак, требуемые пакеты в систему установлены. Займемся их включением. Сервер vsftpd (от ''Very Secure FTP Daemon'') использует при своей работе сетевой метасервер xinetd. Для настройки того, какие службы запускаются в системе в процессе инициализации, используется утилита chkconfig. Используемая в ПСПО версия этой утилиты умеет управлять системными службами разного типа: как оформленными в стиле сценариев "start-stop", котореы располагаются в {{{/etc/init.d/}}}, так и использующими мета-сервер xinetd. При применении chkconfig из командной строки администратор избавлен от необходимости запоминать различный синтаксис для этих двух групп. Посмотрим, какие службы сейчас включены: |
Строка 44: | Строка 44: |
Как видно, все использующие xinetd сервисы (в том числе и vsftpd) в настоящее время выключены. Если мы хотим, чтобы FTP-сервер запускался каждый раз при старте машины, нужно проделать следующие операции: | Как видно, все использующие мета-сервер xinetd сетевые службы в настоящее время выключены (в том числе и vsftpd). Если нужно, чтобы FTP-сервер запускался каждый раз при старте машины, нужно проделать следующие операции: |
Строка 46: | Строка 46: |
* обеспечить запуск метадемона: |
* обеспечить запуск мета-сервера xinetd: |
Строка 52: | Строка 51: |
* включить сам vsftpd: |
* включить сам FTP-сервер vsftpd: |
Строка 58: | Строка 56: |
* и обнаружить, что мы встретились еще с одной отличительной особенностью дистрибутивов ПСПО. Дело в том, что все сетевые сервисы по умолчанию доступны только с локальной машины --- иными словами, подключиться к ним можно только с адреса 127.0.0.1. В данном случае следует закомментировать в файле /etc/xinetd.conf строку с параметром only_from --- для раздачи сервисов по сети она должна выглядеть примерно так: | |
Строка 60: | Строка 57: |
После чего мы обнаружим, что мы встретились еще с одной отличительной особенностью дистрибутивов ПСПО. Дело в том, что все сетевые сервисы по умолчанию доступны только с локальной машины --- иными словами, подключиться к ним можно только с адреса 127.0.0.1. Это сделано по соображения безопасности, поскольку при таком подходе конфигурация системы по-умолчанию является безопасной. В данном случае следует при помощи текстового редактора закомментировать в файле {{{/etc/xinetd.conf}}} строку с параметром only_from. Для примера мы воспользуемся утилитой sed для внесения этих изменений: | |
Строка 61: | Строка 59: |
# only_from = 127.0.0.1 | # sed -e 's/^\s*only_from/##&/ /etc/xinetd.conf # grep only_from /etc/xinetd.conf ## only_from = 127.0.0.1 |
Строка 64: | Строка 64: |
Отметим, что файл /etc/xinetd.conf содержит настройки, общие для всех использующих xinetd сервисов. Теперь, поскольку мы изменили содержимое этого конфигурационного файла, нужно перезапустить метадемон xinetd, чтобы внесенные нами поправки вступили в силу: | Отметим, что файл /etc/xinetd.conf содержит настройки, общие для всех использующих xinetd сервисов. Теперь, поскольку мы изменили содержимое этого конфигурационного файла, нужно перезапустить метасервер xinetd, чтобы внесенные нами поправки вступили в силу: |
Строка 70: | Строка 70: |
После этого локальный FTP-сервер начнет принимать соединения на 21-й порт: |
После этого локальный FTP-сервер начнет принимать входящие соединения на 21-й порт. Для проверки функционирования сервера можно воспользоваться FTP-клиентом lftp. |
Строка 78: | Строка 77: |
Сообщений об ошибках, как видим, нет. Впрочем, файлов на сервере тоже пока нет. Скажем еще несколько слов о дисциплине организации FTP-сервера. В каталоге, который является корнем для службы FTP (в нашем случае это /var/ftp) традиционно создается подкаталог pub, файлы в котором доступны на чтение. Именно этот каталог и предназначен для работы "публичных пользователей". Описание же того, как организовать доступ по FTP для обычных пользователей системы, приводить не будем, ограничившись отсылкой к документации. | Сообщений об ошибках, как видим, нет. Впрочем, файлов на сервере тоже пока нет. Скажем еще несколько слов о дисциплине организации FTP-сервера. В каталоге, который является корнем для службы FTP (в нашем случае это {{{/var/ftp}}}) традиционно создается подкаталог {{{pub}}}, файлы в котором доступны на чтение. Именно этот каталог и предназначен для работы "публичных" пользователей. |
Строка 80: | Строка 79: |
=== Настройка и использование === | ## Описание же того, как организовать доступ по FTP для обычных пользователей системы, приводить не будем, ограничившись отсылкой к документации. === Настройка и использование FTP-сервера === |
Строка 84: | Строка 85: |
Отметим, однако, что в некоторых случаях доступ к данным по протоколу FTP все же защищается паролем. Этим могут заниматься, к примеру, владельцы FTP-серверов, распространяющие сомнительные с точки зрения лицензионной чистоты программы и данные. Трюк заключается в следующем: в случае возникновения каких-либо претензий всегда можно сослаться на использование пароля и объяснить, что защищенные таким способом файлы не являются общедоступными и, следовательно, бесплатно по сети не распространяются. | Отметим, однако, что в некоторых случаях доступ к данным по протоколу FTP все же защищается паролем. Этим могут заниматься, к примеру, владельцы FTP-серверов, распространяющие сомнительные с точки зрения лицензионной чистоты программы и данные. Трюк заключается в следующем: в случае возникновения каких-либо претензий всегда можно сослаться на использование пароля и объяснить, что защищенные таким способом файлы не являются общедоступными и, следовательно, свободно по сети не распространяются, а лежат для личного использования. ## То есть выкладывать на FTP-сервер следует только те материалы, |
Строка 86: | Строка 88: |
Поясним теперь, зачем в хранилище помещено более одной программы, реализующей функциональность FTP-сервера. В случае, когда аппаратная конфигурация используемой в качестве сервера машины не слишком "продвинута", а компьютеры-клиенты образуют несколько различных категорий, может возникнуть необходимость использовать специальные возможности таких программ. К таким возможностям относится выставление приоритетов в соответствии с IP-адресами клиентов, ограничения на число одновременных соединений, защита от множественного скачивания программами типа ReGet и пр. В случае же, когда такие возможности не требуются, разумно использовать более "легковесные" программы. | Поясним теперь, зачем в хранилище помещено более одной программы, реализующей функциональность FTP-сервера. В случае, когда аппаратная конфигурация используемой в качестве сервера машины и скорость ее канала передачи данных оставляют желать лучшего, а компьютеры-клиенты образуют несколько различных категорий пользователей, может возникнуть необходимость использовать специальные возможности таких программ. К таким возможностям относится выставление приоритетов в соответствии с IP-адресами клиентов, ограничения на число одновременных соединений, защита от множественного скачивания программами типа ReGet и пр. В случае же, когда такие возможности не требуются, разумно использовать более "легковесные" программы. |
Установка и настройка FTP-сервера
Установка FTP-сервера
Развернем на нашей машине FTP-сервер. Установим для этого пакеты vsftpd и anonftp:
# apt-get install vsftpd anonftp
Поясним сперва, почему одного пакета FTP-сервера vsftpd недостаточно. Первая причина заключается в следующем. Программ, предоставляющих нужную нам функциональность, в хранилище более одной: это proftpd, vsftpd (которую мы и собираемся использовать), pure-ftpd. При этом дерево каталогов, которое соответствует содержимому FTP-сервера, не должно быть жестко привязано к пакету какому-то конкретного FTP-сервера, но в тоже время должно создаваться при развертывании сервера. Именно за это и отвечает пакет anonftp:
$ rpmquery -l anonftp /var/ftp
Есть, вторая причина существования пакета anonftp. В дистрибутивах ALT Linux, уделяющих большое внимание безопасности, включено множество разных "защит от дурака". В данном случае защита заключается в следующем: установка FTP-сервера и его запуск с настойками по-умолчанию не должны приводить к его автоматическому включению в режиме доступа на запись для всех желающих.
Итак, требуемые пакеты в систему установлены. Займемся их включением. Сервер vsftpd (от Very Secure FTP Daemon) использует при своей работе сетевой метасервер xinetd. Для настройки того, какие службы запускаются в системе в процессе инициализации, используется утилита chkconfig. Используемая в ПСПО версия этой утилиты умеет управлять системными службами разного типа: как оформленными в стиле сценариев "start-stop", котореы располагаются в /etc/init.d/, так и использующими мета-сервер xinetd. При применении chkconfig из командной строки администратор избавлен от необходимости запоминать различный синтаксис для этих двух групп. Посмотрим, какие службы сейчас включены:
# chkconfig --list | grep xinetd -A 20 xinetd based services: chargen-tcp: off chargen-udp: off cups-lpd: off daytime-tcp: off daytime-udp: off discard-tcp: off discard-udp: off echo-tcp: off echo-udp: off rsync: off time-tcp: off time-udp: off vsftpd: off
Как видно, все использующие мета-сервер xinetd сетевые службы в настоящее время выключены (в том числе и vsftpd). Если нужно, чтобы FTP-сервер запускался каждый раз при старте машины, нужно проделать следующие операции:
- обеспечить запуск мета-сервера xinetd:
# chkconfig xinetd on
- включить сам FTP-сервер vsftpd:
# chkconfig vsftpd on
После чего мы обнаружим, что мы встретились еще с одной отличительной особенностью дистрибутивов ПСПО. Дело в том, что все сетевые сервисы по умолчанию доступны только с локальной машины --- иными словами, подключиться к ним можно только с адреса 127.0.0.1. Это сделано по соображения безопасности, поскольку при таком подходе конфигурация системы по-умолчанию является безопасной. В данном случае следует при помощи текстового редактора закомментировать в файле /etc/xinetd.conf строку с параметром only_from. Для примера мы воспользуемся утилитой sed для внесения этих изменений:
# sed -e 's/^\s*only_from/##&/ /etc/xinetd.conf # grep only_from /etc/xinetd.conf ## only_from = 127.0.0.1
Отметим, что файл /etc/xinetd.conf содержит настройки, общие для всех использующих xinetd сервисов. Теперь, поскольку мы изменили содержимое этого конфигурационного файла, нужно перезапустить метасервер xinetd, чтобы внесенные нами поправки вступили в силу:
# service xinetd restart
После этого локальный FTP-сервер начнет принимать входящие соединения на 21-й порт. Для проверки функционирования сервера можно воспользоваться FTP-клиентом lftp.
$ lftp localhost lftp localhost:~> ls lftp localhost:/> exit
Сообщений об ошибках, как видим, нет. Впрочем, файлов на сервере тоже пока нет. Скажем еще несколько слов о дисциплине организации FTP-сервера. В каталоге, который является корнем для службы FTP (в нашем случае это /var/ftp) традиционно создается подкаталог pub, файлы в котором доступны на чтение. Именно этот каталог и предназначен для работы "публичных" пользователей.
Настройка и использование FTP-сервера
Поговорим немного о настройке и использовании FTP-сервера. Во-первых, использовать FTP с системными логином и паролем пользователя совершенно неразумно. Эти данные в протоколе FTP передаются по сети открытым текстом, поэтому "подслушать" их не составляет труда. По этой причине FTP-серверы чаще всего используются лишь для предоставления анонимного доступа на чтение к тем или иным данным. Некоторые FTP-клиенты, заметим, требуют при их использовании обязательного ввода логина и пароля даже при работе с "анонимными" FTP-серверами. В таких случаях используется логин anonymous (иногда ftp) и какой угодно, но содержащий символ коммерческого at (@) пароль. Последнее требование, впрочем, предъявляется не всеми FTP-серверами.
Отметим, однако, что в некоторых случаях доступ к данным по протоколу FTP все же защищается паролем. Этим могут заниматься, к примеру, владельцы FTP-серверов, распространяющие сомнительные с точки зрения лицензионной чистоты программы и данные. Трюк заключается в следующем: в случае возникновения каких-либо претензий всегда можно сослаться на использование пароля и объяснить, что защищенные таким способом файлы не являются общедоступными и, следовательно, свободно по сети не распространяются, а лежат для личного использования.
Поясним теперь, зачем в хранилище помещено более одной программы, реализующей функциональность FTP-сервера. В случае, когда аппаратная конфигурация используемой в качестве сервера машины и скорость ее канала передачи данных оставляют желать лучшего, а компьютеры-клиенты образуют несколько различных категорий пользователей, может возникнуть необходимость использовать специальные возможности таких программ. К таким возможностям относится выставление приоритетов в соответствии с IP-адресами клиентов, ограничения на число одновременных соединений, защита от множественного скачивания программами типа ReGet и пр. В случае же, когда такие возможности не требуются, разумно использовать более "легковесные" программы.
С использованием протокола FTP может быть связана еще одна проблема. Дело в том, что скачивание файлов по протоколу FTP требует создание специального соединения для передачи данных. IP-адрес и порт для создания этого соединения передаются по сети в пакетах прикладного уровня (в рамках так называемого "управляющего" соединения). В случае "активного" FTP передаются адрес и порт клиента, а случае "пассивного" --- адрес и порт сервера. Понятно, что при использовании трансляции адресов (Network Address Translation, NAT) такой механизм работы может индуцировать довольно неприятные ситуации. К примеру, при работе с "пассивным" сервером строго следующий описанию протокола FTP клиент (примером может служить Mozilla Firefox) не может проигнорировать полученный таким способом IP-адрес и, если этот адрес оказывается локальным для сети сервера, терпит неудачу при попытке соединения.
Возможным решением данной проблемы может служить тонкая настройка FTP-сервера таким образом, чтобы передаваемый IP-адрес для подключения в "пассивном" режиме различался для клиентов из разных сетей. Иногда оказывается полезным держать несколько FTP-серверов на одной машине и "разруливать" подключения к 21-му порту (ftp) с помощью средств файрвола. При настройке маршрутизатора хорошую службу может сослужить также специальный модуль ip_nat_ftp к iptables.
Сведения о ресурсах
Готовность (%) |
Продолжительность (ак. ч.) |
Подготовка (календ. ч.) |
Полный текст (раб. д.) |
Предварительные знания |
Level |
Maintainer |
Start date |
End date |
52 |
1 |
1 |
1 |
|
1 |
|
|