FTPサーバーとして、vsftpのインストールと基本的な設定を紹介します。dnfコマンドでインストールしてます。

インストール
[root@localhost ~]# dnf install vsftpd

設定
 念のため設定ファイルのバックアップを取った上で設定を変更する。
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

vsftpd.conf の変更箇所

匿名ユーザーのログイン禁止
anonymous_enable=NO

書き込みを許可
write_enable=YES ←先頭の#を外す(デフォルトでなっている場合もある)

ログファイルの出力の形式を変更
xferlog_std_format=NO

ログファイルの有効化
xferlog_file=/var/log/vsftpd.log ←先頭の#を外す
ログファイルを有効にした場合は、
[root@localhost ~]# chmod 644 /var/log/vsftpd.log

asciiモードでファイルを上書きできるので、プログラムが実行できるようにする。
ascii_upload_enable=YES ←先頭の#を外す
ascii_download_enable=YES ←先頭の#を外す

ホームディレクトリより、上位に移動させない
chroot_local_user=YES ←先頭の#を外す

有効にするとディレクトリごと削除できるようにする
ls_recurse_enable=YES ←先頭の#を外す

ファイルの最終行に以下の3行を追加
text_userdb_names=YES ←所有者が数字でなくて、ユーザー名で表示される
use_localtime=YES ←ファイルの上書き時間が、日本時間になる
allow_writeable_chroot=YES

起動
[root@localhost ~]# systemctl start vsftpd.service

自動起動
[root@localhost ~]# systemctl enable vsftpd

自動起動の確認
[root@localhost ~]# systemctl list-unit-files |grep vsftpd
vsftpd.service enabled

エラー
 FTPで接続時に下記のエラーが出た場合は、設定ファイルに追記します。
レスポンス: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES

古い設定

こちらは古いOSの場合です。設定方法は上記を参照してください。

インストール
[root@localhost ~]# yum install vsftpd

[root@localhost ~]# /etc/init.d/vsftpd start
vsftpd 用の vsftpd を起動中: [ OK ]

vfstpdを自動起動する
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig –list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ランレベル2〜5で「on」になっていたらOKです。