Установка vsftpd в Ubuntu или Debian
sudo apt-get install vsftpd
Установка vsftpd на CentOS/Fedora
yum install vsftpd
Как настроить vsftpd
Теперь, когда вы установили vsftpd, выполните следующую процедуру для его настройки. Эти шаги применимы для обоих вариантов Linux.
Прежде чем начать, остановите vsftpd, набрав
service vsftpd stop
Отредактируйте vsftp.conf
1. Ubuntu / Debian:
vi /etc/vsftpd.conf
2. Red Hat / CentOS
vi /etc/vsftpd/vsftpd.conf
Внесите следующие изменения:
Нам не нужен анонимный вход:
anonymous_enable=NO
local_enable=YES
write_enable=YES
connect_from_port_20=NO
chroot_local_user=YES
local_umask=022
Теперь, когда базовая настройка завершена, давайте начнем с блокировки/защиты каталога для пользователя.
sudo useradd -d /var/www/path/to/your/dir -s /usr/sbin/nologin ftpuser
Установите пароль для пользователя:
sudo passwd ftpuser
Чтобы разрешить ftpuser читать и записывать данные в вашем домашнем каталоге, измените разрешение и возьмите на себя ответственность:
sudo chown -R ftpuser /var/www/path/to/your/dir
sudo chmod 775 /var/www/path/to/your/dir
Создайте файл списка пользователей и добавьте пользователя:
1. Ubuntu / Debian:vi /etc/vsftpd.userlist
2. CentOS / Fedora
vi /etc/vsftpd/vsftpd.userlist
Добавьте пользователя:
ftpuser
Сохраните файл и снова откройте файл vsftp.conf:
vi /etc/vsftpd.conf
Добавьте следующие строки в конец файла и сохраните его:
# the list of users to give access
userlist_file=/etc/vsftpd.userlist
# this list is on
userlist_enable=YES
# It is not a list of users to deny ftp access
userlist_deny=NO
После завершения всех этих процедур он почти готов к использованию, попробуйте, но вы получите ошибку 500 OOPS, в разрешении отказано. Чтобы исправить это, вам нужно добавить nologin в набор оболочки.
vi /etc/shells
Файл должен выглядеть так:
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
Добавьте эту строку в конце:
/usr/sbin/nologin
Теперь создайте группу пользователей и добавьте в нее пользователя ftp:
sudo addgroup ftpusers
sudo usermod -Gftpusers ftpuser
Теперь запустите vsftpd:
service vsftpd start