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
%d人のブロガーが「いいね」をつけました。