CentOS5.5/vsftp

Last-modified: 2011-02-06 (日) 13:37:51
最終更新:2011-02-06 (日) 13:37:51
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

FTPサーバ構築 vsftp

FTPにてファイルのupload/downloadを可能とする。


目的

ftpとは「File Transfer Protocol」の略。ネットワークでファイルの転送を行うための通信プロトコルである。

今回、vsftpを導入することにより、ftpによるファイルのアップロード/ダウンロードを可能とする。

また、ユーザからのFTPアクセス時以下のとおりとなるよう設定を行う。

  • anonymousユーザ(匿名ユーザ)のログイン禁止
  • アスキーモードでのupload/downloadを許可
  • デフォルトでホームディレクトリより上層へのアクセスを禁止する

構築条件

構築機器

作成環境

OS    CentOS 5.5 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施

インストール

(1)インストール

【Telnet】

  • rootでログイン
$ su
パスワード:
  • 確認
# yum list install vsftpd
vsftpd.x86_64                          2.0.5-16.el5_4.1                           c5-media
  • インストール
# yum install vsftpd

   :

Complete!

設定

(1)ftp configファイル設定

  • vsftpd.conf ファイル編集
# vi /etc/vsftpd/vsftpd.conf
  • anonymousでのログイン禁止設定
    anonymous_enable=YES
       ↓
    anonymous_enable=NO
  • アスキーモードでのアップロード/ダウンロード許可設定
    #ascii_upload_enable=YES
    #ascii_download_enable=YES
       ↓
    ascii_upload_enable=YES
    ascii_download_enable=YES
  • 上位ディレクトリ移動禁止設定
    #chroot_list_enable=YES
    # (default follows)
    #chroot_list_file=/etc/vsftpd/chroot_list
       ↓
    chroot_local_user=YES ←上位ディレクトリ移動禁止設定(行追加)
    chroot_list_enable=YES  ←上位ディレクトリ許可リスト有り設定
    # (default follows)
    chroot_list_file=/etc/vsftpd/chroot_list ←上位ディレクトリ許可リスト有り場所設定
  • タイムスタンプ日本語設定 ★最終行に追加
    use_localtime=YES
  • rootユーザを上位ディレクトリ許可リストに登録
# echo root >> /etc/vsftpd/chroot_list
  • 上位ディレクトリ許可リスト登録が出来たか確認
# cat /etc/vsftpd/chroot_list
root

起動

(1)vsftp起動

  • vsftpd起動
# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]
  • vsftpd自動起動設定
# chkconfig vsftpd on
  • 確認
# chkconfig --list vsftpd
vsftpd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
  • 終了
# exit
 exit
$

(2)動作確認

【FTP】

  • ユーザ名(hogehoge)でアクセス
    →上位ディレクトリにいけない事を確認

その他設定

上位ディレクトリアクセス許可ユーザ作成

【telnet】

  • hogehogeユーザを上位ディレクトリ許可リストに登録
# echo hogehoge >> /etc/vsftpd/chroot_list
  • 上位ディレクトリ許可リストに登録があるか確認
# cat /etc/vsftpd/chroot_list
root
hogehoge
  • vsftpd再起動
# /etc/rc.d/init.d/vsftpd restart
vsftpd を停止中: [  OK  ]
vsftpd 用の vsftpd を起動中: [  OK  ]

確認

【FTP】

  • ユーザ名(hogehoge)でアクセス
    ・上位ディレクトリにいける事を確認

遭遇したトラブル

ftpでログインできない

問題:
ftpでログインできない

原因:
echo root >> /etc/vsftpd/chroot_list 設定忘れ
chroot_list ファイルが全然無い状態だと全ユーザのログインが拒否される

謝辞

テキスト作成に当たり、以下サイトを参考にさせて頂きました。ありがとうございます。

http://centossrv.com/vsftpd.shtml