FTPサーバ(Vsftpd)のインストール、設定
ファイルをサーバにアップしたり、サーバにあるファイルをダウンロードするためにFTPが使われる。FTPサーバとして、Vsftpdをインストールする。
インストール
dnf install vsftpd
設定
vi /etc/vsftpd/vsftpd.conf
#匿名ログイン禁止
anonymous_enable=NO
# /var/log/vsftpd.logに接続・転送を記録(1/3)
xferlog_enable=YES
# /var/log/vsftpd.logに接続・転送を記録(2/3)
xferlog_file=/var/log/vsftpd.log
# /var/log/vsftpd.logに接続・転送を記録(3/3)
xferlog_std_format=NO
# アスキーモードでの転送許可
ascii_upload_enable=YES
ascii_download_enable=YES
# chroot有効
chroot_local_user=YES
chroot_list_enable=YES
# chrootリストファイル指定
chroot_list_file=/etc/vsftpd/chroot_list
# ディレクトリごと一括での転送有効
ls_recurse_enable=YES
# 制御コネクションのポート変更(必要な場合)
listen_port=50021
# データコネクションのポート変更(必要な場合)
pasv_min_port=50020
pasv_max_port=50020
ftp_data_port=50020
# PAMサービス名を指定する
pam_service_name=vsftpd
# ローカルタイムを使う
use_localtime=YES
# ディレクトリが書き込み可能でもchrootを利用する
allow_writeable_chroot=YES
/etc/vsftpd/chroot_listのファイルがないとログインできないため、空ファイルを作っておく。
echo -n > /etc/vsftpd/chroot_list
ポート開放
ポート開放の設定を行う。
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
使用するポートを変更する場合は、以下のコマンドでポート開放を行う。
firewall-cmd --add-port=50020/tcp --permanent
firewall-cmd --add-port=50021/tcp --permanent
firewall-cmd --reload
SELinuxの設定
SELinuxをEnforcingにしている場合、以下の設定を行う。setsebool -P ftpd_use_passive_mode on
起動、自動起動設定
Vsftpのサービスを起動、自動起動設定する。
systemctl start vsftpd
systemctl enable vsftpd