vsFTPD — Легкий FTP-сервер с виртуальными пользователями на Debian 8 Jessie

На этом уроке мы покажем вам, как легко создать FTP-сервер с виртуальными пользователями с помощью демона vsFTP на Debian 8.

Сначала необходимо обновить свой Debian VPS:

apt-get update && apt-get upgrade

 

Если у вас нет веб — сервера Apache2 или если вы используете NGINX, то вам придется установить apache2-utils которая необходима для генерации паролей для пользователей.

apt-get install apache2-utils

 

Установка службы vsFTPD:

apt-get install vsftpd libpam-pwdfile

 

Отредактируйте файл конфигурации vsFTPD и раскомментируйте строки ниже. Используйте редактор vim или nano. Строки, которые не присутствуют в файле конфигурации, укажите внизу.

# vim /etc/vsftpd.conf



listen=YES

listen_ipv6=NO

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

nopriv_user=vsftpd

chroot_local_user=YES

allow_writeable_chroot=yes

guest_username=vsftpd

virtual_use_local_privs=YES

guest_enable=YES

user_sub_token=$USER

local_root=/var/www/$USER

hide_ids=YES



# Исключите это, если вы делаете это руководство на свой собственный сервер

seccomp_sandbox=NO

 

Далее, мы должны изменить наш файл /etc/pam.d/vsftpd, чтобы проверить файл пользователей/паролей, которые мы собираемся создать.

Во-первых, создать резервную копию файла, а затем отредактировать существующий:

cp /etc/pam.d/vsftpd{,.bak}



vim /etc/pam.d/vsftpd

 

Удалите все из файла и добавите эти строки:

auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd

account required pam_permit.so

 

Создайте главного пользователя, который будет использоваться виртуальными пользователями для проверки подлинности:

useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd

 

Как только это будет сделано, мы можем создать файл пользователей/паролей.

Примечание: пароли, используемые этим способом может быть до 8 символов. Если вы хотите прочитать vsFTPD c надежными паролями, вы можете поискать другой модуль pam.

htpasswd -cd /etc/ftpd.passwd andreyextest1

 

Добавьте другого пользователя и добавьте его в файл ftpd.passwd, флаг -c здесь опущен.

htpasswd -d /etc/ftpd.passwd andreyextest2

 

Затем добавьте каталоги для пользователей, так как vsFTPD не будет создавать их автоматически.

## Для andreyextest1

mkdir /var/www/andreyextest1

chown vsftpd:nogroup /var/www/andreyextest1

chmod +w /var/www/andreyextest1



## Для andreyextest2

mkdir /var/www/andreyextest2

chown vsftpd:nogroup /var/www/andreyextest2

chmod +w /var/www/andreyextest2

 

И, наконец, запустите демон vsFTPD и установите его на автоматический запуск при загрузке системы.

systemctl start vsftpd && systemctl enable vsftpd

 

Проверьте состояние, чтобы убедиться, что запущена служба:

# systemctl status vsftpd

● vsftpd.service - vsftpd FTP server

Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled)

Active: active (running) since Sat 2016-12-03 11:07:30 CST; 23min ago

Main PID: 5316 (vsftpd)

CGroup: /system.slice/vsftpd.service

├─5316 /usr/sbin/vsftpd /etc/vsftpd.conf

├─5455 /usr/sbin/vsftpd /etc/vsftpd.conf

└─5457 /usr/sbin/vsftpd /etc/vsftpd.conf

Проверьте свои настройки

Используйте FileZilla, WinSCP или любой другой FTP-клиент для входа в систему VPS, используя имя пользователя и пароль, которые вы создали ранее. Создайте тестовый каталог и тестовый файл от клиентов.

Проверка сервера, что файлы успешно созданы:

ls -l /var/www/andreyextest1

ls -l /var/www/andreyextest2

vsFTPD - Легкий FTP-сервер с виртуальными пользователями на Debian 8 Jessie




2016-12-09T16:43:49
Настройка Debian