vsftpd(FTPサーバー)インストール及び設定内容について

カテゴリー:Linux OS, Linux VPS, Linux 専用サーバー タグ:, ,
 

本記事では、ご利用 Linux サーバーにおいて vsftpd のインストール・設定代行のご依頼を受けた際の設定内容について記載します。

※また、本記事では yum コマンドによるrpmパッケージインストール環境のみを対象としています。
同名ソフトウェアをソースインストールした環境や、yum コマンドを利用せずに直接RPMパッケージをダウンロード・インストールした環境には本文書内容は適用できない場合がありますのでご注意ください。

1. 対象OS

  • RedHat Enterprise Linux 4.x (注)
  • RedHat Enterprise Linux 5.x
  • CentOS 4.x
  • CentOS 5.x

(注)RedHat Enterprise Linux 4.x に関しては yumup2date に置き換えてお読み下さい。

2. yum 利用のまえに

※ご利用サーバーに ssh を利用してログインし、管理者権限(root)となります。
コマンドプロンプトが $ から # に変更されている事を確認してください。

参考記事: root 権限取得方法

3. vsftpd インストール

※インストールを実施する前に、既に vsftpd がインストールされていないか確認します。

インストールされていなかった場合、何も表示されず次のコマンドプロンプトが表示されます。
[root@ds00000 ~]# rpm -qa vsftpd
[root@ds00000 ~]#
インストールされている場合、インストール済みのパッケージ名が表示されます。
[root@ds00000 ~]# rpm -qa vsftpd
vsftpd-2.0.5-12.el5
[root@ds00000 ~]#

※インストールされていないことを確認してから、インストール作業を実施します。

[root@ds00000 ~]# yum -y install vsftpd

※インストールされたファイルを検索できるよう、ファイルシステムを更新します。

[root@ds00000 ~]# updatedb

4. 設定ファイル編集

※vsftpd の設定ファイルである vsftpd.conf を編集します。

[root@ds00000 ~]# vi /etc/vsftpd/vsftpd.conf
※以下の箇所を変更します。

匿名ユーザーのログイン拒否
anonymous_enable=YES
 ↓
anonymous_enable=NO 

ログの出力先を /var/log/vsftpd.log に指定
#xferlog_file=/var/log/vsftpd.log
 ↓
xferlog_file=/var/log/vsftpd.log 

ログ出力形式に wu-ftpd フォーマットではなく、vsftpd 形式を使用
xferlog_std_format=YES
 ↓
xferlog_std_format=NO

sciiモードによるによるアップロードを許可
#ascii_upload_enable=YES
 ↓
ascii_upload_enable=YES

sciiモードによるによるダウンロードを許可
#ascii_download_enable=YES
 ↓
ascii_download_enable=YES

ソフト名とバージョン情報の隠匿
#ftpd_banner=Welcome to blah FTP service.
 ↓
ftpd_banner=Welcome to blah FTP service.

ホームディレクトリより上層へのアクセスを禁止
#chroot_list_enable=YES
 ↓
chroot_list_enable=YES
chroot_local_user=YES ← この行は追記してください

#chroot_list_file=/etc/vsftpd/chroot_list
 ↓
chroot_list_file=/etc/vsftpd/chroot_list

※最終行に以下を追記します。

タイムスタンプを日本時間にする
use_localtime=YES

※デフォルトでは/etc/vsftpd/chroot_listは存在しないので、新たに作成します。

[root@ds00000 ~]# touch /etc/vsftpd/chroot_list
[root@ds00000 ~]#

5. 自動起動設定

※サーバー再起動時に、自動的に vsftpd が起動するための設定を行ないます。

[root@ds00000 ~]# chkconfig vsftpd on ← 自動起動を on にします。
[root@ds00000 ~]# chkconfig –list vsftpd
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← 起動レベル 2,3,4,5 において on となっていることを確認します。
[root@ds00000 ~]#

6. サービス起動

※以上で vsftpd を利用するための設定が整いましたので機能を起動させます。

[root@ds00000 ~]# service vsftpd start
[root@ds00000 ~]# Starting vsftpd: [ OK ]
[root@ds00000 ~]# ps waux |grep vsftpd ← vsftpd のプロセスが正しく起動しているかを確認します。
root 9144 0.0 0.2 5080 512 ? Ss Mar12 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf ← 赤文字の表示があれば正しく起動しています。