CentOS 7 vsftpdインストール

■FTPサーバのインストール

[root@server1 ~]# yum install vsftpd

■FTPサーバの設定ファイル変更

[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

匿名ユーザ(anonymous)はログイン禁止(YES→NO)
anonymous_enable=NO

ユーザが打ち込んだ詳細なログを残す
xferlog_std_format=NO  (YES→NO)
log_ftp_protocol=YES   (次の行へ追加)

アイドル時のタイムアウトを設定(#を削除)
idle_session_timeout=600

接続時のタイムアウトを設定(#を削除、120→60)
data_connection_timeout=60

アスキーモードでのアップロードを許可する(#を削除)
ascii_upload_enable=YES

アスキーモードでのダウンロードを許可する(#を削除)
ascii_download_enable=YES

ホームディレクトリより上へのアクセスを禁止する(#を削除)
chroot_local_user=YES

ホームディレクトリより上へアクセスできるユーザリストファイルを利用可能にする(#を削除)
chroot_list_enable=YES

ホームディレクトリより上へアクセスできるユーザリストファイル(#を削除)
chroot_list_file=/etc/vsftpd/chroot_list

ディレクトリを削除できるようにする(#を削除)
ls_recurse_enable=YES

パッシブモードを有効にする(最下行へ追加)
pasv_promiscuous=YES

タイムスタンプ時間を日本時間に変更(最下行へ追加)
use_localtime=YES

■FTP接続ユーザ設定

ホームディレクトリより上へアクセスできるユーザリスト
[root@server1 ~]# vi /etc/vsftpd/chroot_list
例:ユーザ「higo」は、自ホームディレクトリーより上にアクセスできる
higo

■ FTPアクセス制限
サーバー自身、内部ネットワークからのアクセスを許可

[root@server1 ~]# echo "vsftpd : 127.0.0.1 192.168.1." >> /etc/hosts.allow

上記以外の全てのアクセスを禁止

[root@server1 ~]# echo "vsftpd : ALL" >> /etc/hosts.deny

■FTPサーバの起動

[root@server1 ~]# systemctl start vsftpd.service

■FTPサーバの自動起動設定

[root@server2 ~]# systemctl enable vsftpd.service
[root@server2 ~]# systemctl status vsftpd.service
vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled)
   Active: active (running) since 水 2014-07-16 00:57:09 JST; 9min ago
  Process: 1022 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 1025 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─1025 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

 7月 16 00:57:09 server2.yokensaka.com systemd[1]: Starting Vsftpd ftp daemon...
 7月 16 00:57:09 server2.yokensaka.com systemd[1]: Started Vsftpd ftp daemon.

■外部からの接続
外部からの接続には、ルーターの設定で20番と21番のポートを開ける必要がある。