Настройка vsftpd в Ubuntu и CentOS
Несмотря на популярность облачных систем хранения, достаточно часто появляется задача развертывания FTP-ервера.
Рассмотрим как настроить vsftpd приложение с поддержкой SSL и IPv6 под ОС Ubuntu и CentOS.
Vsftpd является акронимом и его следует понимать как Very Secure FTP Daemon - очень защищенный FTP-сервер.
Процесс разделим на два этапа - установку и настройку.
Установка в Ubuntu:
В начале следует обновить информацию о репозиториях, обновить компоненты системы, перезагрузиться если требуется:
Теперь устанавливаем vsftpd:
Установка в CentOS:
Обновляем компоненты системы и перезагружаемся:
Устанавливаем vsftpd:
Запускаем службу:
После установки и запуска службы, сервер готов принимать соединения. Однако стоит помнить, что используются базовые настройки, которые допускают подключение анонимными пользователями.
Настроим vsftpd:
Отредактируем конфигурационные файлы. Важно помнить, что конфиги, в разных ОС, находятся в разных директориях.
Ubuntu:
CentOS:
Если анонимном доступе нет необходимости, то первым делом исправляем это в конфигурационном файле. Для этого находим строчку:
Заменяем YES на NO. В последних версиях Ubuntu это не требуется, но проверка не будет лишней.
Следует обратить внимание, что некоторые строки закомментированы, т.е. перед ними стоит знак # (решетка/шарп). Для того чтобы пользователи могли записывать файлы в директорию, следует раскомментировать строки (т.е. удалить в самом начале строки символ #):
Соответственно, если по умолчанию указан параметр NO, то заменяем на YES.
Чтобы пользователи не получили доступ в другие каталоги сервера, раскомментируем строку:
Также, если по умолчанию указан параметр NO, то заменяем на YES.
Сохраняем конфигурационный файл и перезапускаем сервер командой:
Проверяем запустилась ли служба:
Если все успешно, то система выведет соответствующее сообщение.
Иногда, при запуске, появляется сообщение "refusing to run with writable root inside chroot". Данная ошибка появляется в последних версиях vsftpd, когда служба запускается не от пользователя root. Исправляем.
Создаем пользователя:
Добавляем пользователя в sudo:
Создаем директорию внутри пользовательской:
Меняем владельца каталога на root:
Перезапускаем службу:
Если подключение не удается - настраиваем файрволл.
В Ubuntu это делается с помощью ufw:
В CentOS, как и во всех остальных случаях, можно использовать iptables:
Проверка соединения выполняется подключением к серверу, например, из окна браузера по ссылке вида: ftp://IP-address
Система запросит ввод логина и пароля. Следует указать системные пользовательские данные.
Также, можно использовать любой ftp-клиент, например Filezilla.