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 по умолчанию получают доступ к своим серверам именно с такими привилегиями, так что появление подобной ошибки маловероятно), можно предпринять несколько простых шагов:
Для 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”.
Шаг #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 по умолчанию получают доступ к своим серверам именно с такими привилегиями, так что появление подобной ошибки маловероятно), можно предпринять несколько простых шагов:
- Создать нового пользователя (здесь и далее ##username## необходимо заменить на название конкретного пользовалея) adduser ##username##
- Дать новому пользователю администраторский доступ командой adduser ##username## sudo
- Создать новую директорию внутри пользовательской домашней директории: mkdir /home/##username##/files
Также возможно система откажется создавать весь путь сразу, тогда нужно будет перейти в папку /home:
cd /home
Создать в ней папку нужного пользователя /##username## (sudo mkdir ##username##), перейти в нее командой cd и уже затем создать папку files командой mkdir.
- Изменить владельца этой директории на корневого пользователя root: chown root:root /home/##username##
- Осуществить все изменения внутри поддиректории “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”.