Linux. Установка FTP сервера vsftpd в Ubuntu 16.04

Ubuntu 16.04.
Установка vsftpd

apt install vsftpd

Если надо разрешить пользователю root авторизоваться, то в файле /etc/ftpusers комментируем root добавлением символа #.

Конфиг /etc/vsftpd.conf

Проверяем запрет анонимного доступа

anonymous_enable=NO

Дополнительно:

local_enable=YES
write_enable=YES
force_dot_files=YES

Запрет авторизации по SSH

1 способ:
Если пользователю запретили авторизацию через SSH путём изменения пути к оболочке, например, вместо /bin/bash установили /bin/date или /usr/sbin/nologin, то необходимо в файле /etc/pam.d/vsftpd закомментировать строку c авторизацией через pam_shells.so:

#auth   required        pam_shells.so

иначе vsftpd сервер не авторизует пользователя.

2 способ:
Чтобы позволить пользователям с оболочкой /usr/sbin/nologin получить доступ к FTP, но не предоставлять shell доступ, отредактируйте /etc/shells, добавив к оболочке nologin:

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/bin/date
/usr/sbin/nologin

OOPS

Если при подключении/авторизации к ftp серверу выскакивает ошибка:

OOPS: priv_sock_get_cmd

то в конфиг надо добавить ещё пару строк:

allow_writeable_chroot=YES
seccomp_sandbox=NO

Полный конфиг /etc/vsftpd.conf:

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
pam_service_name=vsftpd
force_dot_files=YES

#ssl_enable=YES
#ssl_ciphers=HIGH
#ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
#rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
#rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

allow_writeable_chroot=YES
seccomp_sandbox=NO

Добавляем в автозапуск

service vsftpd restart
update-rc.d vsftpd defaults

Сервер FTP
https://losst.ru/ustanovka-ftp-na-ubuntu-16-04
https://www.dmosk.ru/miniinstruktions.php?mini=vsftpd-ubuntu