Установка и настройка vsftpd в Debian 7
Серверные компоненты настроены, полезный инструмент (phpMyAdmin) для администрирования MySQL установлен и защищен извне. Не хватает только ftp сервера. Все уже привыкли загружать файлы на хостинг при помощи FTP клиентов, поэтому ничего не остается, как установить и настроить на своем виртуальном сервере поддержку FTP.
Под linux создано огромное количество ftp-серверов, но мне нравится vsftpd. Он прост в установке и прекрасно справляется со своими задачами. Для установки vsftpd в окне терминала выполни команду:
apt-get install vsftpd
Установка vsftpd в Debian 7 занимает буквально две минуты.
Настройка vsftpd
Все настройки vsftpd хранятся в файле /etc/vsftpd.conf. Откроем его в редакторе nano и внесем несколько корректив:
nano /etc/vsftpd.conf
Первое, что необходимо сделать в файле настроек – установить запрет на подключение анонимных пользователей. Находим опцию “anonymous_enable” и прописываем ей значений “NO”. Затем сними комментарий с опции “local_enable” и “write_enable”. Первая опция разрешает использовать для входа на сервер пользователям, которые зарегистрированы в системе. Вторая разрешает пользователям выполнять любые FTP-команды записи.
Последним действие в конфигурационном файле будет снятие комментария с опции chroot_local_user. Если ей установлено значение «Yes» (по умолчанию оно и установлено), все системные пользователи будут находиться в пределах chroot и не смогут получить доступ к другим директориям сервера.
Сохраняем изменения (ctrl+o) и закрываем файл (ctrl+x). Теперь попробуем протестировать работу FTP сервера. Для этого создадим нового пользователя и сделаем в его домашней директории папку, к которой он будет иметь возможность получить доступ по FTP.
Добавление нового пользователя выполняется командой adduser. Попробуем создать нового пользователя user:
adduser user
Утилита создания пользователя задаст несколько вопросов (пароль, различные вспомогательная информация). Вопросы с запросом вспомогательной информации (phone, room number и т.д.) можешь игнорировать, нажимая клавишу “Enter”. Предположим, что пользователь создан, теперь добавим новую группу webusers и включим в нее пользователя user:
groupadd webusers usermod -G webusers user
Если прямо сейчас перейти в директорию /home, то мы увидим, что в ней появилась папка для недавно созданного нового пользователя. Создадим в домашней директории пользователя две новые папки:
mkdir /home/user/www mkdir /home/user/logs
В первой будут храниться файлы доступные снаружи (это будет директория хоста), а вторую будем использоваться для хранения логов. Теперь нам надо сменить владельца для созданных папок. Мы их создавали из под root, поэтому сейчас владельцем является супер пользователь. Смена владельца выполняется командой chown:
chown user:webusers /home/user/www chown user:webusers /home/user/logs chmod 555 /home/user
На этом все подготовительные действия завершены. Остается только перезапустить FTP сервер и попробовать подцепиться к нему каким-нибудь клиентом. Перезапуск службы vsftpd выполняем традиционным способом:
service vsftpd restart
Тестируем настроенный vsftpd сервер
В качестве теста попробуем соединиться встроенным в Windows консольным ftp клиентом с нашим ftp-сервером. Открываем CMD и вбиваем команду:
ftp <IP адрес севера>
После установки соединения, программа у тебя запросит ввести логин/пароль. Вводи сюда данные созданного пользователя. Пройдя процесс аутентификации, ты можешь начать отправлять ftp команды. Например, команда dir запрашивает список директорий с ftp сервера. Выполнив ее, ты увидишь, что на сервере доступно две папки – www и logs.
На этом, установку и настройку vsftpd считать оконченной.