vsftpd環境構築
vstpdをインストール
# yum install vsftpd
設定ファイル編集
まずは設定ファイルのバックアップから
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
Vimでvsftpd.confを開く
# vim /etc/vsftpd/vsftpd.conf
以下の通り変更する
anonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES
use_localtime=YES
userlist_enable=YES
userlist_deny=NO
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
anonymous_enable=NO :匿名ユーザのログインを禁止する
ascii_upload_enable=YES :ASCIIでのデータの送信許可
ascii_download_enable=YES :ASCIIでのデータの受信許可
userlist_enable=YES :vsftpd.user_listに記載したユーザのみ接続を許可する
userlist_deny=NO :接続を拒否するユーザ管理は実施しない
chroot_local_user=YES :接続時のディレクトリをユーザのルートディレクトリにする
chroot_list_enable=YES :ログインディレクトリより上の階層へのアクセスを拒否
chroot_list_file=/etc/vsftpd/chroot_list :chroot_listに記載してあるユーザのみ上の階層へのアクセスを許可
「/etc/vsftpd.user_list」の編集
user_listにFTP接続を許可するユーザを追加する
# vim /etc/vsftpd/user_list
「/etc/vsftpd/chroot_list」の作成(新規ファイル)
ログインディレクトリより上の階層参照を許可するユーザを記載する。
# vim /etc/vsftpd/chroot_list
# chmod 600 /etc/vsftpd/chroot_list
vsftpdの自動起動設定
# systemctl enable vsftpd.service
FTPサーバーの起動
# systemctl start vsftpd
※vsftpdが起動できない
サービス起動時に以下のエラーメッセージが出力されたら。。。。
Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details.
エラー原因としては基本的に設定ファイルの不正が多い。
/etc/vsftpd/vsftpd.confに余分なスペースが含まれていたり、定義が重複していたり、他には”listen”と”listen_ipv6”両方にYESが設定されてるとか。
設定ミスの場合は下記コマンドを実行することでエラー詳細が出力されます。
/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
ただし、何にも問題がなかった場合はvsftpdが起動してしまうので、サービスとしてsystemctl start vsftpd.serviceで起動し直したければpkill vsftpdで停止させる必要あり。