Быстрая настройка FTP-сервера в Ubuntu

Мы будем рассматривать настройку FTP-сервера ProFTPD. На мой взгляд, данный сервер наиболее гибкий в настройке. Установите два пакета: proftpd и gproftpd. Первый содержит FTP-сервер, а второй — графическую программу для его настройки.

После установки сервер практически готов к работе. Его нужно только запустить (по умолчанию он добавляется в автозапуск, поэтому после перезагрузки данная команда не потребуется):
sudo /etc/init.d/proftpd start
Попробуем подключиться к вашему серверу:
ftp <имя_вашего_компыотера>

FTP-сервер запросит имя пользователя и пароль. Нужно вводить имя пользователя, зарегистрированное на вашем компьютере (на FTP-сервере). После этого вы получите доступ к домашнему каталогу пользователя, который будет для вас корневым, т. е. за пределы этого каталога выйти не получится. Это сделано из соображений безопасности, чтобы никто не мог получить доступ к файловой системе сервера.
Данная конфигурация сервера не очень удобна. Когда нужно предоставить доступ пользователям к их домашним каталогам — все просто прекрасно. Но предположим, что вы хотите сделать свою коллекцию фильмов доступной всем пользователям сети. Можно, конечно, записать их в ваш домашний каталог, а потом всем предоставить имя пользователя и пароль, но такая конфигурация нежелательна с точки зрения безопасности — все смогут прочитать ваши файлы, причем не только прочитать, а изменить и даже удалить. Поэтому намного рациональнее предоставить всем пользователям анонимный доступ к вашей коллекции фильмов. Каждый желающий сможет скачать фильм, но никто не сможет ничего удалить.
Основной файл конфигурации сервера ProFTPD называется /etc/proftpdV proftpd.conf. По умолчанию в конфигурационном файле указываются далеко не все опции, которые доступны, поэтому для создания полноценного конфигурационного файла нужно запустить программу gproftpd:
gksudo gproftpd

При первом запуске программа сообщит вам, что в конфигурационном файле не хватает многих опций, и предложит создать полноценный конфигурационный файл.
В верхней части окна программы настройки FTP-сервера расположены кнопки управления сервером:

  • Online/Offline — информируют о статусе сервера (зеленая кнопка говорит о том, что сервер запущен);
  • Shutdown — завершает работу сервера;
  • RcRcad — заставляет сервер перечитать конфигурационный файл.

На вкладке Servers можно управлять разными серверами, если у вас их несколько, точнее, редактировать их файлы конфигурации. У нас будет только один сервер, поэтому я не думаю, что кнопки Add Server и Delete server вам пригодятся.
Ознакомимся с другими вкладками программы настройки:

  • Users — позволяет управлять пользователями выбранного сервера;
  • Transfers — информация об использовании выбранного сервера;
  • Disk — информация об использовании дискового пространства локального компьютера;
  • Files — позволяет сгенерировать файлы статистики сервера;
  • Conf— позволяет редактировать конфигурационный файл сервера;
  • Security — информация, касающаяся безопасности сервера.

Group nogroup
# Определяем стандартный псевдоним anonymous UserAlias anonymous ftp
# Отключает проверку командного интерпретатора пользователя — это лишнее RequireValidShell off
# Максимальное количество анонимных клиентов MaxClients 10
# Запрещаем записывать файлы в каталог /var/ftp/pub


DenyAll


Теперь любой пользователь сможет подключиться к вашему серверу, используя имя пользователя anonymous и любой e-mail в качестве пароля. Они получат доступ к файлам в каталоге /var/ftp/pub. Файлы можно будет только скачивать, все остальные действия (изменение, удаление) запрещены, запрещена и загрузка файлов на сервер. Если нужно разрешить загрузку файлов на сервер, тогда в конце секции Anonymous (перед ) добавьте следующую секцию:

Umask 022
DenyAll
AllowAll

Пользователи смогут просматривать каталог /var/ftp/pub/incoming и загружать в него новые файлы.
После внесения изменений в конфигурационный файл нужно нажать кнопку ReRead, чтобы сервер перечитал конфигурационный файл.