FTPサーバVsftpdのインストール

2025年1月4日

動作確認済みシステム Debian 12

ファイルをサーバにアップしたり、サーバにあるファイルをダウンロードするためにFTPが使われます。FTPサーバとして、Vsftpdをインストールして設定します。

以下のコマンドでVsftpdをインストールします。

apt install vsftpd

設定ファイルを編集します。

vi /etc/vsftpd.conf
anonymous_enable=NO

write_enable=YES

use_localtime=YES

xferlog_enable=YES

xferlog_std_format=NO

ascii_upload_enable=YES
ascii_download_enable=YES

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

ls_recurse_enable=YES

pam_service_name=vsftpd
allow_writeable_chroot=YES
seccomp_sandbox=NO

listen_port=50021

# アクティブモード設定
connect_from_port_20=YES
ftp_data_port=50020

# パッシブモード設定
pasv_enable=YES
pasv_min_port=50023
pasv_max_port=50029

/etc/vsftpd.chroot_listのファイルがないとログインできないため、空ファイルを作っておきます。

echo -n > /etc/vsftpd.chroot_list

ファイアウォールでFTPのポートを許可します。

ポート番号を標準(20/TCP、21/TCP)のまま変えていない場合は、以下のコマンドで設定できます。

ufw allow 20/tcp
ufw allow 21/tcp

ポート番号を変えている場合は、以下のコマンドで設定できます。(例として50020/TCP、50021/TCP、50023:50029/tcp)

ufw allow 50020/tcp
ufw allow 50021/tcp
ufw allow 50023:50029/tcp

ファイアウォールの設定を反映させます。

ufw reload

vsftpdサービスを再起動します。

systemctl restart vsftpd.service

FTPクライアントから接続してみて、接続できたらOKです。