green FTP サーバの構築 | [目次] [前のページ/次のページ] |
デフォルトで用意される設定ファイルのサンプルには、
FTP サーバとして機能するための基本的事項は記述されている。
しかし詳細な設定は設定ファイルを作成するか編集して行う必要がある。
また、FTP 利用者向けに、ls 等のコマンド類を別途用意しなければならない。
wu-ftpd の主な設定ファイルは /etc/wu-ftpd-2.6.0/ に置かれる次の3つ。
他に shutdoun.msg のファイルが /etc/wu-ftpd-2.6.0 に置かれる。 これは shutdoun 時の表示メッセージであるので特に編集する必要が無い。
pathmag、msg.toomany、welcome.msg の 3 ファイルを
/etc/wu-ftpd-2.6.0/ に作成するとよい。
これらはログイン時などの表示メッセージのファイルであるので
無くても良い。ファイルの中身は、
green の /etc/wu-ftpd-2.6.0/shutdoun.msg
green の /etc/wu-ftpd-2.6.0/path.mag
green の /etc/wu-ftpd-2.6.0/msg.toomany
green の /etc/wu-ftpd-2.6.0/welcome.msg
である。
基本となる設定ファイルのサンプルは
/home/green/wu-ftpd-2.6.0/doc/examples/ 以下に置かれている。
以下の手順で ftpaccess、ftpconversons、ftphosts、ftpgroups を
/etc/wu-ftpd-2.6.0/ 以下にコピーしよう。
# cd /home/green/wu-ftpd-2.6.0/doc/examples/
# cp ftpaccess ftpconversions ftphosts ftpgroups /etc/wu-ftpd-2.6.0/
# cd /etc/wu-ftpd-2.6.0/
# chmod 444 *
また、以下のようにシンボリック・リンクを張っておく。
# ln -s /etc/ftpusers ftpusers
※他の設定ファイルと異なり、ftpusers を /etc/wu-ftpd-2.6.0/
に置かずにシンボリック・リンクを用意したのは、
前に利用していた wu-ftpd の debian パッケージの仕様に準じただけで、
それ以上の明確な理由はない。
wu-ftpdの全体的な動作設定を行う。
「クラス定義」、「同時アクセス数」、
そして green では anonymous FTP サービスの設定が主な設定項目。
green の /etc/wu-ftpd-2.6.0
その他設定項目については man ftpaccess および各参考文献を参照のこと。
Anonymous FTP について
Anonymous FTP サービスとは不特定多数のユーザーを対象に
ファイルの配信・受信を行うサービスであり、
サーバにアカウントを持っていない人でも
サービスを受けることができるのが特徴だ。
一般的にネットワーク上でファイルのライブラリを
提供する FTP サーバの構築に用いられる。
アクセスの際、ユーザ名として"anonymous"又は"ftp"を、
パスワードには各人のメールアドレスを用いてログオンを行う。
※green の場合
Anonymous FTP に関して注意すべき設定は次の2ヶ所
1) Anonymous FTP ユーザのメールアドレスのチェック
# passwd-check <none|trivial|rfc822> [<enforce|warn>] passwd-check rfc822 enforce
この行では Anonymous FTP ユーザがログイン時に入力する
メールアドレスが rfc822 フォーマットに 適合する
(有効なメールアドレスと考えられる)かどうかをチェックしている。
2) Anonymous FTP ユーザによるファイルアップロードの可否
# FTP-home-dir archiv-dir allow? owner group mode dirs? # (as in /etc/passwd) upload /home/ftp * no upload /home/ftp /pub/incoming no ftp daemon 0666 nodirs
デフォルトの設定では anonymous FTP ユーザにも /home/ftp/pub/incoming ディレクトリには ファイルのアップロードができるようになっている。 これはセキュリティ上好ましくないので、"allow?" の列を "no" に変更してファイルのアップロードができないように設定している。
■ ユーザ ftp の追加
Anonymous FTP 利用者は、一般の FTP 利用者と異なり、
サーバにアカウントを持っている必要がないことは先に述べた通りである。
コンピュータ側では Anonymous FTP 利用者を全てユーザ ftp として認識する。
デフォルトではユーザ ftp は用意されていないため、ここで追加する。
これはルート権限で行わなければならない。
具体的には、
$ sudo -s
# vipw
とし、/etc/passwd に以下のように書き加える。
ftp:x:77:80:Anonymous FTP user:/home/ftp:/bin/false
そして、上で追加したユーザ ftp が所属するグループを追定義する。
具体的には、
# vi /etc/group
とし、 ftp:x:80: を加える。
■ ディレクトリ等の作成
次に Anonymous FTP 利用者が利用することの出来るコマンドや設定ファイル、
そして Anonymous FTP 利用者向けに公開するディレクトリ
(/home/ftp/pub)を作成する。
まずはディレクトリから。
ルート権限にて /home/ftp を作り、/home/ftp 以下に etc、pub を作る。
また、それらのパーミッションも以下のように変更する。
# mkdir /home/ftp
# chmod 555 /home/ftp
# mkdir etc
# chmod 111 etc
# mkdir pub
# chmod 555 pub
■ コマンド類の用意
続いて、コマンド類。
ここでは、cksum、compress、gzip、ls、md5sum、tar
コマンドファイルを用意しよう。
これらは ftp.bin.linux.i386.tar.gz に圧縮して納められている。
ここでは ftp.bin.linux.i386.tar.gz は /home/green に置いておく。
green にスイッチユーザーして、/home/green で
ftp.bin.linux.i386.tar.gz を展開する。
# su green
$ tar xvpzf ftp.bin.linux.i386.tar.gz
green のスイッチユーザーをやめる。
展開すると ftp/bin というディレクトリが生成され、
ftp/bin 以下に cksum、compress、gzip、ls、md5sum、tar ができる。
これらのファイルを /home/ftp/bin 以下にコピーする。
#cp ftp/bin/* /home/ftp/bin
コピーしたら、パーミッションをすべて 111 に変更する。
# chmod 111 /home/ftp/bin/*
■ /home/ftp/etc/ の整備
次はディレクトリ /home/ftp/etc 内に配置するファイルの設定を行う。
ここに置かれたファイルが実際に利用されることは、まずない。
セキュリティ上のダミーファイルである。
従って、本物の /etc/passwd や /etc/group と
内容が異なっているべきである。
/home/ftp/etc/passwd
# cd /home/ftp/etc
として、
ftp:*:500:1:
を書き加える。 |
/home/ftp/etc/group
# cd /home/ftp/etc
として、
root::0:
を書き加える。 |
そして今作った /home/ftp/etc/group、
/home/ftp/etc/passwd のパーミッションを変更しておく。
# chmod 444 *
※余談だが、上記の一連の設定を行うと、Anonymous FTP ユーザにとっては
ディレクトリ /home/ftp/ が、ルート・ディレクトリ / であるかのように
見える。こうすることで余計なディレクトリを覗かれたりすることが防げる。
興味があれば chroot を調べてみること。
更新日: 2000/07/05 河野仁之 | [目次] [前のページ/次のページ] |