Установка и базовая настройка vsFTPd
Обновляем систему:
yum update
Запускаем процесс установки:
yum install vsftpd
После открываем на редактирование следующий файл:
mcedit /etc/vsftpd/vsftpd.conf
И приводим его к следующему виду:
anonymous_enable=NO chroot_local_user=YES
allow_writeable_chroot=YES pasv_min_port=40900 pasv_max_port=40999
* первые две строчки мы редактируем:
anonymous_enable разрешает подключение анонимных пользователей, поэтому мы отключаем такую возможность;
chroot_local_user запрещает выход за пределы домашней директории пользователя. Третью, четвертую и пятую строки мы дописываем —
allow_writeable_chroot разрешает подключения пользователю, у которого есть права на запись в корневую директорию;
диапазон динамических портов, которые будут использоваться vsFTPd. Данный диапазон важно указывать, если используется брандмауэр. Сам диапазон можно задать любой из незарегистрированных портов.
Отключаем SELinux следующими командами:
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
* первая команда отключит SELinux, вторая — отключит его автозапуск после перезагрузки.
Добавляем правила в брандмауэр для корректной работы FTP-сервера:
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40900-40999/tcp firewall-cmd --reload
Разрешаем автозапуск vsFTPd и запускаем его:
systemctl enable vsftpd systemctl start vsftpd
По умолчанию, к vsFTPd нельзя подключиться с использованием учетной записи root. Поэтому нужно использовать другую пользовательскую запись или создать новую следующей командой:
useradd ftpuser -d /var/www -s /sbin/nologin
* ftpuser — имя учетной записи; /var/www — домашняя директория; /sbin/nologin запрещает локальный вход в систему.
Задаем пароль новому пользователю:
passwd ftpuser
Базовая настройка закончена — можно пробовать подключаться к FTP-серверу.