トップページ サービスご案内 お知らせ お申込み お問い合わせ コミュニティ サポート オンラインマニュアル

Wu-ftpdインストール方法


※以下のほとんどの設定作業はスーパーユーザによって行われる必要があります。(スーパーユーザになる方法はこちら



1.手順の概要

ここで解説するのは、インストール方法です。具体的には、

webで最新バージョンの確認・同FTP上よりソースファイルの入手
インストール
inetdエントリを変更
inetdの再起動

という手順となります。



2.最新版の確認

最新バージョンを確認します。例えば、次の場所で最新版の情報を入手できます。
http://www.wu-ftpd.org/
今回は、このサイトよりソースファイルを入手することとします。


3.ソースファイルのダウンロード

wu-ftp公式サイトよりソースファイルをダウンロードします。
●FTPサーバーと目的のディレクトリは ftp://ftp.wu-ftpd.org/pub/wu-ftpd/
です。
●ダウンロードするディレクトリは /usr/local/src/distfiles です。
●目的のファイルは wu-ftpd-2.6.0.tar.gz です。
なおこれらのディレクトリは存在しない場合があります。その場合には、mkdirコマンド(説明はこちら)で作成してください。

以上を踏まえた上で、こちらをご覧下さい。

無事作業が終了すると、/usr/local/src/distfiles/に wu-ftpd-2.6.0.tar.gz というソースファイルがダウンロードされます。


4.ソースファイルの解凍

/usr/local/src で、ソースを展開します。

4-1.ディレクトリを移動します。
# cd /usr/local/src

4-2.圧縮されたファイルを展開します。
# tar -zxf ./distfiles/wu-ftpd-2.6.0.tar.gz

ここまでの作業で、/usr/local/src/wu-ftpd-2.6.0/ 以下にソースが展開されます。


5.コンパイルとインストール

展開されたソースをコンパイルして、configure ファイルに従って所定の場所にコピーします。

5-1.ソースが展開されたディレクトリへ移動します。
# cd wu-ftpd-2.6.0

5-2.インストール先が/usr/local以下になるようにconfigureをします。
# ./configure --prefix=/usr/local

5-3.前述のconfigureにしたがって、コンパイルします。
# make

5-4.コンパイルされたファイルをインストールします。
# make install

次は設定ファイルです。


6.設定ファイルのコピー

wu-ftpd が使用する様々なコンフィギュレーションファイルは、元となるものが
「 /usr/src/wu-ftpd-2.6.0/doc/exmaples 」に用意されています。これを「 /etc 」以下のディレクトリにコピーします。

# cd doc/examples
# cp ftpaccess ftpconversions ftpusers /etc
ftpaccess、ftpconversions、ftpusers の各ファイルを /etc 以下にコピーしています


7.各設定ファイルの内容を変更

wu-ftpd の動作を設定するために、いくつかの設定ファイルが用意されています。ここではFTPを運用していくにあたり、最低限設定しておいたほうがよいであろう、ftpaccess と、 ftpconversions、ftpusers の各設定ファイルについて説明します。

7-1.ftpaccessファイル

wu-ftpd の動作を決める設定ファイルです。ここではユーザーやグループごと、あるいは特定IPからの接続に対して様々な制限をかけたり、応答メッセージなどを記述したファイルを指定したりできます。ディレクトリ /etc に置かれています。
(ftpaccessファイルについて詳細な説明は
こちら

例えば、全てのユーザーを guest に設定し、その中でも ken というユーザーは real に、グループ admin と tech も同様に real にしたい場合は、以下のような記述を追記します。

guestuser *
realuser Ken
realgroup admin,tech

※guestグループに入れられたユーザはアクセスした時、homeディレクトリにchrootされてしまうので、/bin/ls が見えなくなってしまいます。
そのため、各ユーザのhomeディレクトリに /bin を作成し、その下に ls をコピーします。(下囲み参照)こうしないと、ls コマンドが使えません。

# cd [目的のホームディレクトリ]
# mkdir bin
# cd bin
# cp /usr/bin/ls ./


7-2.ftpconversionsファイル

ファイルをダウンロードする際、tar や gzip などで自動アーカイブできます。これら変換プログラムの設定をこのファイルで行います。
ftpaccessと同じ /etc に置かれています。

ftpconversionsの内容:
 :.Z:  :  :/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
 :   : :.Z:/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
 :.gz: :  :/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
 :   : :.gz:/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
 :   : :.tar:/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
 :   : :.tar.Z:/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
 :   : :.tar.gz:/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
 :   : :.crc:/bin/cksum %s:T_REG::CKSUM
 :   : :.md5:/bin/md5sum %s:T_REG::MD5SUM

パスとプログラム、起動オプションなどの設定が記述してあります。ここに記述されているプログラムパスを /bin から /usr/bin/ に変更します。

変更後のftpconversions:
  :.Z:  :  :/usr/bin/compress -d -c %s:T_REG|T_ASCII:O_UNCOMPRESS:UNCOMPRESS
 :   : :.Z:/usr/bin/compress -c %s:T_REG:O_COMPRESS:COMPRESS
 :.gz: :  :/usr/bin/gzip -cd %s:T_REG|T_ASCII:O_UNCOMPRESS:GUNZIP
 :   : :.gz:/usr/bin/gzip -9 -c %s:T_REG:O_COMPRESS:GZIP
 :   : :.tar:/usr/bin/tar -c -f - %s:T_REG|T_DIR:O_TAR:TAR
 :   : :.tar.Z:/usr/bin/tar -c -Z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+COMPRESS
 :   : :.tar.gz:/usr/bin/tar -c -z -f - %s:T_REG|T_DIR:O_COMPRESS|O_TAR:TAR+GZIP
 :   : :.crc:/usr/bin/cksum %s:T_REG::CKSUM
 :   : :.md5:/usr/bin/md5sum %s:T_REG::MD5SUM
7-3.ftpusersファイル

このファイルには、ftpアクセスできないユーザー名を記述します。
外部とやりとりする必要がない、(またはやりとりさせたくない)重要なデーモンやユーザーなどは、セキュリティの為にFTPアクセスができないように設定するのが普通です。

ファイル ftpusers の内容:
#       $Id: ftpusers,v 1.3.2.1 1998/09/03 22:14:37 brian Exp $
#
# list of users disallowed any ftp access.
# read by ftpd(8).
root
toor
daemon
operator
bin
・
・
・


8.inetd.conf の設定記述変更

wu-ftpd は inetd が動作管理をしており、ftpポートにアクセスがあった場合、ftpd を起動します。そのため inetd の動作を設定する、inetd.conf を編集しなければなりません。

# cd /etc
# vi inetd.conf
・
・ファイルの内容が表示される
・
#       $Id: inetd.conf,v 1.23.2.6 1998/09/03 22:14:37 brian Exp $
#
# Internet server configuration database
#
#       @(#)inetd.conf  5.4 (Berkeley) 6/30/90
#
ftp     stream  tcp  nowait  root  /usr/libexec/ftpd     ftpd -l
この行がFTP用の記述
telnet stream tcp nowait root /usr/libexec/telnetd telnetd ・ ・

上記FTP用記述文をコメントアウト(#マークを行頭につけて、コメント行にすること)して、新しいFTPの設定行を追記します。

・
・
・
#       $Id: inetd.conf,v 1.23.2.6 1998/09/03 22:14:37 brian Exp $
#
# Internet server configuration database
#
#       @(#)inetd.conf  5.4 (Berkeley) 6/30/90
#
#ftp     stream  tcp  nowait  root  /usr/libexec/ftpd     ftpd -l
この行をコメントアウト
ftp     stream  tcp  nowait  root  /usr/local/sbin/in.ftpd  in.ftpd -a
この行(wu-ftpd用の記述)を追加
telnet  stream  tcp  nowait  root  /usr/libexec/telnetd  telnetd
・
・


9.inetd の再起動

intedにHUPシグナルを送り、再起動します。

# killall -HUP inetd


10.動作確認

実際に使ってみて、正しく動いているかを確認します。


お客様のユーザー名は test、現在のカレントディレクトリは /home/test であると仮定して、以下をお読みください。
まず、test 1、test2 という2つのディレクトリを作ります。これは、自動アーカイブ機能のテスト時に使います。

# mkdir test1 test2

ディレクトリが作れたらいくつか適当なファイルを、 test1 に cp コマンド(使い方はこちら)でコピーしてください。
その後、/home/test/test2 にカレントディレクトリを移します。

# cd /home/test/test2

次にwu-ftpd を使って、ローカルホスト(127.0.0.1)に接続します。
お客様は、wu-ftp で real ユーザーとして定義されているものとします。

# ftp localhost

220 www FTP server (Version wu-2.6.0(1) Wed Nov 24 11:44:53 JST 1999) ready.
Name (localhost:test):test

331 Password required for test.
Password:XXXXX (お客様のこのサーバ上のPASSWORDを入れてください。)

230- it was last modified on Wed Nov 24 23:57:11 1999 - 2 days ago
230 User test logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

ftp> プロンプトが出れば、ログイン成功です。

問題がなければ、自動アーカイブ機能のテストをします。

ftp> get ./test1.tar.gz

local: ./src.tar.gz remote: ./.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for /usr/bin/tar.
自動圧縮しています

226 Transfer complete.
###### bytes received in 2.46 seconds (542.63 KB/s)

以上のように表示されれば成功です。 ctrl-D を入力して、wu-ftpサーバーからログアウトしてください。




(C)Copyright 1996-2000, SRS SAKURA Internet Inc.