概 要 |
FTPサーバーの設定を行います。クライアント側からFTPを使って、ファイルを自動アップロードするプログラムを作ったことはありますが、今回はサーバー側の設定を確認してみます。
FTPサーバー設定 |
VSFTPDをインストールします。
yum install vsftpd |
設定ファイル(“vsftpd.conf” )を編集用で開きます。
cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.org | |
vim /etc/vsftpd/vsftpd.conf |
今回私の環境での “vsftpd.conf” ファイル設定・変更内容は以下の通りです。
anonymous_enable=NO | 匿名ユーザーログイン禁止 |
ascii_upload_enable=YES | ASCII送信許可 |
ascii_download_enable=YES | |
tcp_wrappers=NO | ローカル環境の為、不要 |
use_localtime=YES | ローカル時間使用(?) |
userlist_enable=YES | vsftpd.user_list記載ユーザーのみFTP接続許可 |
userlist_deny=NO | |
listen=YES | IPv4リッスン |
listen_ipv6=NO | IPv6リッスンしない |
chroot_local_user=YES | chroot_list記載ユーザーを除き、ログインディレクトリ上位接続不可 |
chroot_list_enable=YES | |
chroot_list_file=/etc/vsftpd/chroot_list | |
xferlog_file=/var/log/vsftpd.log | 接続履歴出力ファイル設定 |
次にFTP接続を許可する “vsftpd.user_list” を編集用で開きます。
vim /etc/vsftpd/user_list |
ファイル(“vsftpd.user_list” )内に既に書かれている関係のないユーザーを消去し、対象ユーザーを記載・保存します。
下記はコメント部のみ残し、“user1” を新たに追加した状況です。
# vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. user1 |
次に上位ディレクトリ接続許可設定ファイルを編集します。
vim /etc/vsftpd/chroot_list |
初回はファイル(“chroot_list” )が新たに作成されますので、“user1” に接続許可する場合、記載・保存します。
user1 |
rootユーザー以外の “chroot_list” への接続を禁止します。
chmod 600 /etc/vsftpd/chroot_list | |
ls -l /etc/vsftpd/chroot_list ※設定内容確認 |
vsftpdを起動します。
systemctl start vsftpd.service |
サーバー再起動時の自動起動設定します。
systemctl enable vsftpd.service |
ファイアウォール解除設定します。
firewall-cmd –zone=public –add-service=ftp –permanent | |
firewall-cmd –reload |
以上です。
自宅のローカル環境ですが、フリーソフトにホスト名(IPアドレス)、ユーザー、パスワードを設定し、接続可能であることを確認しました。
尚、接続履歴出力ファイルを設置しましたが、FTP接続のファイル転送履歴が、下記の通りログファイルに接続時間・ユーザー・転送ファイル等記録されています。
まとめ |
HTTPサーバー等も設定し、なんとなく出来た様な気になっていますが、本当にいろいろな機能(HTTP通信とか・・・)が動くのか不安もあります。少しづつでも確認していきたいと思います。