FTPサーバの構築
動作確認済みシステム Debian 11
ファイルをサーバにアップしたり、サーバにあるファイルをダウンロードするためにFTPが使われます。FTPサーバとして、Vsftpdをインストールして設定します。
以下のコマンドでVsftpdをインストールします。
apt install vsftpd
設定ファイルを編集します。
vi /etc/vsftpd.conf
# anonymous_enableがNOになっていることを確認
anonymous_enable=NO
# コメント解除
write_enable=YES
# use_localtimeがYESになっていることを確認
use_localtime=YES
# xferlog_enableが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
pasv_min_port=50020
pasv_max_port=50020
ftp_data_port=50020
/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)
ufw allow 50020/tcp
ufw allow 50021/tcp
ファイアウォールの設定を反映させます。
ufw reload
vsftpdサービスを再起動します。
systemctl restart vsftpd.service
FTPクライアントから接続してみて、接続できたらOKです。