外部のシステムとファイルのやりとりを自動的にやる必要があり、FTPサーバを構築する必要がありましたので、そのメモ。
FTPサーバ(vsftpd)のインストール
$ sudo yum install vsftp
FTPサーバの設定
FTPサーバをインストールして作成された設定ファイルを編集します。
$ sudo vi /etc/vsftpd/vsftpd.conf
名前 | 設定値 | 備考 |
---|---|---|
anonymous_enable | NO | 匿名ユーザーのログイン禁止 |
chroot_local_user | YES | ユーザーのルートディレクトリをログインしたディレクトリにする つまりログインしたディレクトリから上にいけなくなる ただしchroot_list_enable=YESの場合はchroot_list_fileで指定したユーザーは除外される |
userlist_enable | YES | ユーザーのアクセス許可設定 userlist_denyがNOの場合はユーザーリスト(※1)で指定したユーザーのアクセスのみを許可する |
userlist_deny | NO | ユーザーのアクセス許可設定 |
pasv_enable | YES | FTPの接続をパッシブモードにする パッシブモードとは |
pasv_addr_resolve | YES | IPアドレスからホスト名を取得 pasv_addressにIPアドレスを指定する場合はいらないかも |
pasv_address | <接続先サーバのアドレス> | |
pasv_min_port | <ポート番号> | 使用するポートの最小値 |
pasv_max_port | <ポート番号> | 使用するポートの最大値 |
user_config_dir | <ディレクトリのパス> | ユーザーごとの設定ファイルを格納してあるディレクトリ このディレクトリの下にユーザーIDと同じ名前のファイル名を作成するとそこの設定ファイルを見に行く ログインディレクトリをユーザーごとに変更する場合(※2)などに使えます |
use_localtime | YES | タイムスタンプを日本時間に変更 |
pasv〜とuser_config_dir、use_localtimeはおそらくないので新規に追加します。
※1
ユーザーリストは
userlist_file=<ファイルパス>
で指定します。何も指定しなければvsftpd/user_list
かvsftpd/vsftpd.user_list
の中を見るようです。
この中には1行ごとにユーザー名を入れていくだけ。
※2
ログインディレクトリを変更する場合はlocal_root
を使用します。
例)hogehogeユーザーの場合
/etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vsftpd_user_conf
touch /etc/vsftpd/vsftpd_user_conf/hogehoge
vi /etc/vsftpd/vsftpd_user_conf/hogehoge
local_root=/var/ftp/hogehoge