Установка и настройка FTP сервера vsftpd на Ubuntu

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА

mrvtn

Постоянный участник
ДРУЗЬЯ ФОРУМА
Регистрация
2 Июн 2018
Сообщения
116
Реакции
58
Репутация
0
vsftpd (англ. Very Secure FTP Daemon) — FTP-сервер с поддержкой IPv6 и SSL. Первые две буквы в названии vsftpd означают “very secure” («очень защищенный»), поскольку разработчики программы предусмотрели защиту от многих возможных уязвимостей протокола FTP.

Шаг #1: Установка vsftpd

С помощью специальной команды установить программу на

Пожалуйста Авторизуйтесь или Зарегистрируйтесь для просмотра скрытого текста.

можно за пару секунд:
sudo apt-get install vsftpd
Фактически, после скачивания всех нужных файлов, пользователь получает уже сконфигурированную программу с базовыми настройками безопасности. Однако они недостаточны — например, в режиме по умолчанию vsftpd позволяет доступ к серверу анонимным пользователям.

Шаг #2: Настройка vsftpd

После установки программы, можно заняться ее настройкой. Для этого нужно открыть конфигурационный файл:
sudo nano /etc/vsftpd.conf
В нем нужно найти строчку Anonymous_enable и поменять значение с YES на NO:
anonymous_enable=NO
После сохранения изменений доступ к виртуальному серверу для анонимных пользователей будет закрыт.

Также следует «раскомментировать» (убрать знак #) опцию local_enable и поменять ее значение на YES, а затем — разрешить пользователям осуществлять запись в директорию, убрав символ комментария для опции write_enable:
local_enable=YES
write_enable=YES
Затем нужно раскомментировать опцию chroot_local_user — если она будет установлена в YES, то все пользователи будут ограничены своими правами chroot и не смогут получить доступ к другим частям сервера:
chroot_local_user=YES

После этого необходимо сохранить изменений и выйти из конфигурационного файла.

Чтобы избежать ошибки запуска последних версий vsftpd ("refusing to run with writable root inside chroot") при работе не из под пользователя root (пользователи 1cloud по умолчанию получают доступ к своим серверам именно с такими привилегиями, так что появление подобной ошибки маловероятно), можно предпринять несколько простых шагов:

  1. Создать нового пользователя (здесь и далее ##username## необходимо заменить на название конкретного пользовалея) adduser ##username##
  2. Дать новому пользователю администраторский доступ командой adduser ##username## sudo
  3. Создать новую директорию внутри пользовательской домашней директории: mkdir /home/##username##/files
    Также возможно система откажется создавать весь путь сразу, тогда нужно будет перейти в папку /home:
    cd /home
    Создать в ней папку нужного пользователя /##username## (sudo mkdir ##username##), перейти в нее командой cd и уже затем создать папку files командой mkdir.
  4. Изменить владельца этой директории на корневого пользователя root: chown root:root /home/##username##
  5. Осуществить все изменения внутри поддиректории “files”.
    После внесения всех изменений в конфигурационный файл, нужно перезапустить vsftpd.
    sudo service vsftpd restart

Для Ubuntu 16.04 необходимо настроить firewall с помощью следующих команд:
Перезапустите firewall: sudo ufw disable
sudo ufw enable

Добавьте правила входящих подключений для портов используемых vsftpd: sudo ufw allow 20/tcp
sudo ufw allow 21/tcp

Проверить настройки можно с помощью команды: sudo ufw status



Шаг #3: Получение доступа к FTP-серверу

После установки FTP-сервера получить к нему доступ можно двумя способами: через адресную строку браузера и с помощью командной строки.

Чтобы воспользоваться первым способом нужно вбить в адресную строку браузера название протокола ftp и доменное имя или IP-адрес сервера: ftp://example.com (пример с IP-адресом: ftp://5.200.47.19/)

После этого система попросит ввести логин и пароль локального пользователя, и затем появится его домашняя директория со всем содержимым (войти можно будет только в нее).

Альтернативный способ заключается в использовании в терминале команды ftp в комбинации с доменным именем или IP-адресом сайта:ftp example.com

После завершения работы с FTP, выйти из этого режима терминала можно с помощью команды “exit”.
 
Сверху