今回は、CentOS7にvsftpdサーバを構築した時の手順まとめです。
vsftpdのインストール
yumを使ってまずは、vsftpdのインストールを行います。
yum -y install vsftpd
ftp用のユーザを作成します。
useradd ftp-user #ユーザ作成
passwd ftp-user #パスワード
vsftpdの設定ファイル「/etc/vsftpd/vsftpd.conf」に以下の設定を記載します。
# userlist_fileで指定指定したユーザを有効にする(接続できる)
userlist_enable=YES
# アクセスファイル(/etc/hosts.allow, /etc/hosts.deny)をアクセス制御に利用しない
tcp_wrappers=NO
# ファイル(またはディレクトリ)のタイムスタンプの表示をローカルタイムで表示する
use_localtime=YES
#ユーザー毎の設定ファイルの場所を指定する。
user_config_dir=/etc/vsftpd/user_conf
#ユーザのログインディレクトリの外側にアクセスできなくする。
chroot_local_user=YES
#chrootを有効化する。
chroot_list_enable=YES
#chroot対象のユーザーリストファイルの場所を指定する。
chroot_list_file=/etc/vsftpd/chroot_list
ユーザーリストファイル「/etc/vsftpd/chroot_list」を作成し、ユーザリストを追加します。
ftp-user
ユーザ設定ファイルを作成します。
mkdir /etc/vsftpd/user_conf
vi /etc/vsftpd/user_conf/ftp-user #ftpユーザ名のファイルを作成
ユーザ設定ファイルに、ftp接続時のルートを記載します。
local_root=/var/www/html
設定が完了したら、vsftpdを起動します。
#起動
systemctl start vsftpd
#自動起動設定
systemctl enable vsftpd
接続確認
下記のコマンドで接続できれば、成功です。
ftp '接続先IPアドレス'
オプション設定
#パッシブモードの接続を許可する
pasv_enable=YES
#パッシブモードで接続時のIPアドレスを指定
pasv_address='FTPサーバーのIP'
#ポート指定(ハイポート)
pasv_min_port=60001
pasv_max_port=60010
#ドットから始まるファイルを含めた一覧を返す
force_dot_files=YES