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番)もサーバーに通すように設定する
ピンバック: Linuxサーバー構築 | IT技術情報局