パソコン実習室
FTPサーバ (vsftpd-2.0) の設定
≪ previous  

W.vsftpd の起動

 vsftpd.conf ファイル、vsftpd.chroot_list ファイルの作成が済んだら vsftpd を起動する。  vsftpd の起動で FTP サービスの開始となる。

W.1.vsftpd の起動と停止

 nvsftpd の起動と停止は、コマンド ラインに次の入力を行う。
  • vsfptd の起動
  • # /etc/init.d/vsftpd start
    vsftpd用のvsftpdを起動中:[ OK ]

  • vsftpd の停止
  • # /etc/init.d/vsftpd stop
    vsftpdを停止中[ OK ]
正常に起動できない場合、ログを参照してみる。 ログは以下のファイルに記録される。
起動に関するログ/var/log/messages
vsftpd が出力するログ/var/log/vsftpd.log


W.2.正常性の確認

 vsftpd の起動ができたら、正常性を確認する。
ファイル転送 (FTP) の確認には ffftp 等のツールを使うと便利である。
ffftp 等をインストール済みのユーザ機を用意し、サーバと接続して下記の確認を行う。
※ ただし、dhcpd-3.0 の設定、bind-9.2 の設定 が終わっていることが前提。
  • ローカル ユーザ名 (& パスワード) でログインできる。
  • テキストファイル、バイナリ(画像等)ファイルの転送が可能。
  • ツールの "PASV モード" を有効にしてもファイル転送が可能。
  • vsftpd.chroot_list にリストアップされないユーザは、自身のホームディレクトリから上部にアクセスできないこと。
  • vsftpd.chroot_list にリストアップされたユーザは、自身のホームディレクトリより上部にアクセスできること。


【 サーバ内での確認方法 】
 確認用のユーザ機を用意できない時は、サーバの ftp コマンドで確認を行う。

確認にあたり、次の事柄を決めて置く。
  • 作業ディレクトリは /tmp
  • 転送確認用にテキスト ファイル (document.txt) と画像ファイル (image.gif) を用意する。
  • ユーザ アカウント client を作成済みとする。
  • client の public_html にサンプルの index.html 設置済み

次の手順で確認する。 ( 入力部分は赤字で表示 )
  1. /tmp に移動し、転送用ファイルを確認。
    # cd /tmp
    # ls -l
    -rwxr-xr-x2 rootroot  12 3 月 16 2008 document.txt
    -rw-r--r--2 rootroot5796 3 月 16 2008 image.gif
  2. ftp コマンドで接続し、client でログインする。
    # ftp www.project.ed.jp(bind 未導入なら IPアドレスも可)
    Connected to dns.project.ed.jp.
    530 Please login with USER and PASS.
    KERBEROS_V4 rejected as an authentication type
    Name (www.project.ed.jp:root): client(ユーザ名を入力)
    331 Please specify the password.
    Password:(パスワードを入力。 表示されない。)
    230 Login successful.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ※ ユーザ名の入力は、カレント ユーザ (表示例では root ) なら [Enter] のみでOK。
  3. ファイル (ディレクトリ) 確認。
    ftp> ls
    227 Entering Passive Mode (10,2,3,234,86,27)
    150 Here comes the directory listing.
    drwxr-xr-x 9 5005004096 Mar 162008 cgi-bin
    drwxr-xr-x15 5005004096 Mar 162008 public_html
    226 Directory send OK.
    ※ client のホームディレクトリに 2 つのディレクトリ (public_html, cgi-bin) を確認。
    ※ 500 の数字は client に割り当てられたユーザ ID。
  4. public_html に移動してファイル (ディレクトリ) 確認。
    ftp> cd public_html
    250 Directory successfully changed.
    ftp> ls
    227 Entering Passive Mode (10,2,3,234,151,222)
    150 Here comes the directory listing.
    -rw-r--r--1 5005003413 Mar 162008 index.html
    226 Directory send OK.
    ※ public_html 内にあるサンプルの index.html が確認できる。
  5. ASCII モードに変更して document.txt をアップロード。
    ftp> ascii
    200 Switching to ASCII mode.
    ftp> put document.txt
    local: document.txt remote: document.txt
    227 Entering Passive Mode (10,2,3,234,58,232)
    150 Ok to send data.
    226 File receive OK.
    14 bytes sent in 7.5e-05 seconds (1.8e+02 Kbytes/s)
    ※ put コマンドでローカルのカレント ディレクトリ (/tmp) にある該当ファイルが送出される。
    ※ linux で ASCII モード送信を行うと、1 行ごとに 1 byte が付加される模様。
       その結果、document.txt (12 bytes) の送信バイト数が 14 bytes (最終行) となっている。
  6. Binary モードに変更して image.gif をアップロード。
    ftp> bin
    200 Switching to Binary mode.
    ftp> put image.gif
    local: image.gif remote: image.gif
    227 Entering Passive Mode (10,2,3,234,155,208)
    150 Ok to send data.
    226 File receive OK.
    5796 bytes sent in 1e-04 seconds (5.7e+04 Kbytes/s)
    ※ Binary モードで送信した image.gif は無変換 (5796 bytes) で送信される。
  7. ファイル確認。
    ftp> ls
    227 Entering Passive Mode (10,2,3,234,203,119)
    150 Here comes the directory listing.
    -rw-r--r--1 500500  10 Mar 162008 document.txt
    -rw-r--r--1 5005005796 Mar 162008 image.gif
    -rw-r--r--1 5005003413 Mar 162008 index.html
    ※ ASCII モードで送信した document.txt は CR/LF (0x0D0A) が LF (0x0A) に変換されるのでファイル
       サイズが減少している。
    ※ Binary モードで送信した image.gif は同一サイズ (5796 bytes) のまま。
  8. ftp 終了。
    ftp> bye
    221 Goodbye. #

W.3.自動起動の登録

 正常性が確認できたら、サーバ起動時に vsftpd も起動するよう登録を行う。
  1. 現状の確認
  2. # chkconfig --list vsftpd
    vsftpd           0:オフ     1:オフ     2:オフ     3:オフ     4:オフ     5:オフ     6:オフ

  3. 起動ラン レベルの登録 (例として 3, 4, 5 に登録)
  4. # chkconfig --level 345 vsftpd on

  5. 登録状況確認
  6. # chkconfig --list vsftpd
    vsftpd           0:オフ     1:オフ     2:オフ     3:オン     4:オン     5:オン     6:オフ
    ※ ラン レベル 3, 4, 5 が [ オン ] になっている。


≪ previous [[ FTPサーバ - vsftpd の設定 ]]