vsftpd をインストール

apt でインストール

apt install vsftpd

user_list に書かれたユーザーのみログインできるようにします。

vi /etc/vsftpd.conf

# listen=yes (Both ipv4 and ipv6)
listen=yes
#listen_ipv6=YES

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
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

#log_ftp_protocol=YES
ascii_upload_enable=YES
ascii_download_enable=YES

# 全てのユーザーに対してchroot します。ただchroot_local_user を設定すると
# chroot_list に書かれたユーザーは逆にchroot から除外される。要注意!
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

# 子ディレクトリを有する場合でも一括削除を許可
ls_recurse_enable=YES

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

# user_list に書かれたユーザーのみログオンできる。
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

# 書き込み可能なディレクトリへのchroot を許可する
# [500 OOPS: refusing to run with writable root inside chroot]
allow_writeable_chroot=YES

# passive mode(use port 11000-11100)
pasv_enable=YES
pasv_min_port=11000
pasv_max_port=11100

ログインできるユーザーを登録。

vi /etc/vsftpd.user_list
ast

ログインさせたくないユーザーを登録。

/etc/ftpusers

chroot 不要のユーザーを登録(空でもファイルは必須)

touch /etc/vsftpd.chroot_list