.
ツール / その他 => FTPサーバー構築 (vsFTPD) > 1.FTPサーバー構築 ~ vsFtpd
Linux 活用ガイド:目次

サーバ構築ガイド

レンタル ガイド

ショップ 構築ガイド

情報漏洩対策

FTPサーバー構築 ~ vsFtpd

FedoraCore2 に標準で採用されている vsFTPDを使ってFTPサーバーを構築します。FedoraCore 2 の rpm ではスタンド アローンで起動するようにセットアップされるようになっています。

vsFTPDの特徴

vsFTPDは高機能ではありませんが、軽く高速です。また、スタンドアローンの場合でもユーザー権限でプロセスが呼び出されるためセキュアです。設定、保守も容易で不特定多数に公開するサーバーとしては優れていると思います。

設定ファイル構成

設定ファイル、ディレクトリは以下で構成されます。 設定のポイントは、ユーザーリストは
「 vsftpd.conf の設定によって禁止リスト、許可リストに変わる 」 点です。

  • /etc/vsftpd/vsftpd.conf (設定ファイル)
    • vsFTPDの制御
  • /etc/vsftpd/vsftpd.chroot_list (chroot:ユーザーリスト)
    • デフォルトはchroot許可ユーザーリスト
  • /etc/vsftpd/vsftpd.user_list (接続:ユーザーリスト)
    • デフォルトは禁止ユーザーリスト
  • /etc/vsftpd/vsftpd.ftpusers (禁止:ユーザーリスト)
    • 全てにおいて優先に禁止される

基本設定

以下に設定例を示します。 有効にするにはコメントアウトします。

/etc/vsftpd/vsftpd.conf

# asciiモードでアップロード、ダウンロードを許可します。
ascii_upload_enable=YES
ascii_download_enable=YES

# ローカルユーザーは全てchroot有効にします。
chroot_local_user=YES (追記)

# chrootに関する設定をlistで行えるようにします。
chroot_list_enable=YES

# chrootを無効にするユーザーリストを指定します。
# chroot_local_user=YES としたのでリストに記述されるユーザーは
# 上位ディレクトリへアクセスできることになります。
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list

# ディレクトリまるごと削除出来るように指定したい場合はコメントを外します。
#ls_recurse_enable=YES

####### 追加
# タイムスタンプにローカル時間を指定します。(日本時間に変更)
use_localtime=YES

# PASV(パッシブモード)を有向にするかどうか指定します。
pasv_promiscuous=YES (追記)

# 詳細なログを/var/log/vsftpd.log に記録するか指定します。
# 指定しなければFTPデフォルト、/var/log/xferlog に出力します。
xferlog_std_format=NO (追記)

# Chrootされるディレクトリを指定します。指定が無ければ
# ユーザーのトップのホームディレクトリになります。
# 注意 chrootが有効の場合、~/public_html へchroot されます。
# ディレクトリから上へ上がることは出来ません。
local_root=public_html (追記)

chroot について

vsftpd.chroot_listは、FedoraCore2に付属するvsFTPDのデフォルトでは chrootを有効にするユーザーを記述するようになっています。セキュリティ上、chroot すべきなのでデフォルトを chroot 処理を行い、chroot したくないユーザーは個別に指定するようにします。

vsftpd.conf で、以下の設定(追記)を行った場合、デフォルトは逆になります。

/etc/vsftpd/vsftpd.conf

chroot_local_user=YES

vsftpd.conf に上記指定を追加した場合

/etc/vsftpd/vsftpd.chroot_list はchroot 禁止ユーザーリスト変化します。

/etc/vsftpd/vsftpd.chroot_list

chroot を無効にしたいLinuxユーザーを記述します。上記の設定例では chroot はデフォルトとしたいので、記述しません。

逆に /etc/vsftpd/vsftpd.chroot_list に chroot_local_user=YES
の記述がない場合は、chroot を有効にしたいユーザーを記述します。

vsFTPD 起動と chroot 確認

/etc/vsftpd/vsftpd.conf を修正したら、再起動し、設定を有効にします。次にリストファイルを修正します。

  • /etc/vsftpd/vsftpdvsftpd.chroot_list (chroot無効ユーザーリスト)
  • /etc/vsftpd/vsftpd.user_list (接続許可ユーザーリスト)
  • /etc/vsftpd/vsftpd.ftpusers (接続拒否ユーザーリスト)

これらのユーザーリストファイルは、修正しても再起動の必要はありません。 実際に接続してテストして下さい。実行プロセスがそれぞれのユーザー権限で実行されているか chtoot が設定通りか確認して下さい。

ユーザーアカウントについて

Linux ユーザー、パスワードを使用します。FTPに利用を限定する場合、ログインシェルは与えないようにして下さい。また、ホームディレクトリが必要です。

ここで説明した内容では、ユーザーのホームディレクトリに、chroot させるためのディレクトリ ~/public_html を用意する必要があります。

次はアクセス制限に関する設定を行います。

FTPサーバー構築 (vsFTPD)

関連するコンテンツ

セキュア FTPサーバー構築


Linux サーバー構築 書籍

bottom_mark
ページ最上部
ページ最上部 前のページ