CentOS7 「vsftpdインストール・設定」

VSFTPDインストール・設定

※CentOS7関連のインストール・設定については「CentOSで自宅サーバー様」を参考に自分の環境に合わせて設定しています。
※パスワードログイン許可
※LAN内からのみ接続を許可(外部からの接続を許可する場合はIPアドレス指定)

●vsftpdインストール
# yum -y install vsftpd

●vsftpd設定
# vi /etc/vsftpd/vsftpd.conf
1.匿名ユーザアクセス禁止
anonymous_enable=NO

2.アスキーモードアップロード・ダウンロード許可
ascii_upload_enables=YES
ascii_download_enables=YES

3.ホームディレクトリより上層へのアクセスを禁止(chroot_list記載者以外)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

4.chrootを有効にするとホームディレクトリが書き込み権限のあるディレクトリ(/var/www/html等)のユーザがログイン出来なくなるので、ログイン出来るようにする
allow_writeable_chroot=YES

5.ディレクトリごと削除出来るようにする
ls_recurse_enable=YES

6.タイムスタンプを日本時間にする
use_localtime=YES

7.ログイン出来るユーザをuser_listで指定する
userlist_enable=YES
userlist_deny=NO

8.vsftpdへのアクセス・転送ログをvsftpdスタイルで/var/log/vsftpd.logに記録する(必要に応じて)
xferlog_enable=YES (ログ設定は分かりやすいようにこの下に下記4行(または5行)をまとめて追記)
syslog_enable=NO
dual_log_enable=NO
xferlog_std_format=NO
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES (デバッグ等で全てのFTPリクエストとレスポンスをログに記録したい場合のみ)
ここから17行くらい下の「xferlog_std_format=YES」を#でコメントアウト

●ログインを許可するユーザ(vic)を登録
# vi /etc/vsftpd/user_list
vic

●ログインを許可しないユーザを登録
# vi /etc/vsftpd/ftpusers
許可しないユーザ名を記述

●ホームディレクトリから上層に移動出来るユーザを登録(必要な場合のみ)
# vi /etc/vsftpd/chroot_list
許可するユーザ名

●FTP接続出来る接続元をLAN内に制限
# vi /etc/hosts.deny
vsftpd:all
# vi /etc/hosts.allow
vsftpd:127.0.0 192.168.1.

※外部から接続するときは接続を許可するIPアドレスを指定
# vi /etc/hosts.allow
vsftpd:127.0.0 192.168.1. 接続元のIPアドレス

※PASVモードを有効化する場合、vsftpd.confの最下行に以下を追記
# vi /etc/vsftpd/vsftpd.conf
pasv_addr_resolve=YES
pasv_address=FTPで接続するサーバー名
pasv_min_port=60000(例)
pasv_max_port=60030(例)

●vsftpd起動
# systemctl start vsftpd

●vsftpd自動起動設定
# systemctl enable vsftpd

 

※ルーターでTCP21番をサーバーに通すように設定する
※PASVモード使用時は使用するポート範囲(上記ではTCP60000~60030番)もサーバーに通すように設定する

カテゴリー: CentOS7 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です