FTP-сервер на Ubuntu

Компьютерные сети немыслимы без прикладных протоколов, которые помогают решать те или иные задачи. Из существует огромное множество. Среди них есть протокол FTP. Он является одним из старейших протоколов. Является частью семейства протоколов TCP/IP. Предполагает клиент-серверную модель работы. Данный протокол используется для обеспечения доступа к удаленной файловой системы на уровне команд, то есть мы не будем иметь полное прозрачное подключение, как при работе с локальной файловой системой, но, в большинстве случаев, это не столь важно. FTP широко используется для доступа к файловым каталогам веб-хостов, для обеспечения анонимной загрузки файлов и для других целей.

В данной статье я бы хотел описать базовые действия, необходимые для реализации полноценного FTP-сервера на базе компьютера под управлением операционной системы «Ubuntu».

Итак, для начала, нужно установить само приложение. Мы будем использовать, на мой взгляд, один из консервативных и стабильных реализаций сервера FTP. Я имею ввиду vsftpd. Для установки удостоверимся, что у нас подключен репозиторий и он работает. Мы все действия будет проводить от административного пользователя, потому сначала нужно получить их. Так как в данной ОС работа от данного пользователя заблокирована по умолчанию, воспользуемся командой «su». Для этого вводим:

sudo su
  

Система запросит ваш пароль, введите его. Далее проверяем доступность репозитория:

apt-get update
  

Вы должны получить выдачу, похожую на эту, где не должно быть сообщений об ошибках:

В кэше http://old-releases.ubuntu.com lucid Release.gpg
В кэше http://old-releases.ubuntu.com/ubuntu/ lucid/main Translation-ru
В кэше http://old-releases.ubuntu.com/ubuntu/ lucid/restricted Translation-ru
В кэше http://old-releases.ubuntu.com/ubuntu/ lucid/universe Translation-ru
В кэше http://old-releases.ubuntu.com lucid-updates Release.gpg
В кэше http://old-releases.ubuntu.com/ubuntu/ lucid-updates/main Translation-ru
В кэше http://old-releases.ubuntu.com/ubuntu/ lucid-updates/restricted Translation-ru
В кэше http://old-releases.ubuntu.com lucid Release
В кэше http://old-releases.ubuntu.com lucid-updates Release
В кэше http://old-releases.ubuntu.com lucid/main Packages       
В кэше http://old-releases.ubuntu.com lucid/restricted Packages 
В кэше http://old-releases.ubuntu.com lucid/main Sources
В кэше http://old-releases.ubuntu.com lucid/restricted Sources
В кэше http://old-releases.ubuntu.com lucid/universe Packages
В кэше http://old-releases.ubuntu.com lucid/universe Sources
В кэше http://old-releases.ubuntu.com lucid-updates/main Packages
В кэше http://old-releases.ubuntu.com lucid-updates/restricted Packages
В кэше http://old-releases.ubuntu.com lucid-updates/main Sources
В кэше http://old-releases.ubuntu.com lucid-updates/restricted Sources
Чтение списков пакетов... Готово
  

Если все нормально, приступаем к установке приложения, для чего вводим:

apt-get install vsftpd
  

Начнется установка приложения и его зависимостей. Дождитесь завершения установки.

Теперь сервер установлен. Далее предполагается, что мы будем строить узел с доступом для локальных пользователей, при этом сервер запрещен для работы с анонимными пользователями. Приступим к его настройки. Откроем его конфигурационный файл, для чего вводим:

nano /etc/vsftpd.conf
  

Ищем директиву «anonymous_enable», снимаем комментарий для нее и устанавливаем значение «NO». Данным действием мы прямо запретили доступ для анонимных пользователей. Вот так она должна выглядеть:

anonymous_enable=NO
  

Далее ищем директиву «local_enable», снимаем комментарий для нее и устанавливаем значение «YES». Теперь локальные пользователи могут выполнять авторизацию на данном узле. Она должна иметь следующий вид:

local_enable=YES
  

Для возможности загрузки файлов на узел нужно найти директиву «write_enable», снять комментарий для нее и установить значение «YES». В результате, вы должны получить следующий вид:

write_enable=YES
  

Также нужно поправить директиву «local_umask». Она нужна для указания маски на запись, во время записи файлов на сервер. Установите значение «022», если необходимо, сняв комментарий с данной директивы. В итоге, она должна вид:

local_umask=022
  

В целях безопасности необходимо ограничить доступ для пользователей только ихними домашними каталогами. Это можно сделать, отредактировав директиву «chroot_list_enable». Для этого, ищем ее в конфигурационном файле, снимаем комментарий и устанавливаем значение «YES».

Теперь мы имеет полностью настроенный FTP-сервер, который можно использовать в вашей локальной сети для тех или других целей.

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

Директива, которая ограничивает длительность сессии:

idle_session_timeout=600
  

Директива, которая ограничивает время загрузки файла:

data_connection_timeout=120
  

Значения устанавливаются в секундах. Соответственно, тут установлено: 10 минут и 2 минуты.

Теперь пришла пора проверить работоспособность нашего нового узла. Для этого выполним перезагрузки сервиса, чтобы настройки вступили в силу и попробуем подключится.

service vsftpd restart
  

Далее пробуем подключится:

ftp localhost
  

— используете ваше имя пользователя и пароль, поле чего вы попадете в вашу домашнюю папку.

Для выхода введите:

quit
  

Надеюсь, что данная статься будет для вас полезной. Спасибо, что читаете. До встречи.

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>