LoginSignup
10
8

More than 5 years have passed since last update.

FTPサーバの構築

Last updated at Posted at 2014-08-11

外部のシステムとファイルのやりとりを自動的にやる必要があり、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_listvsftpd/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
10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8