wu-ftpd 2.4 for Solaris 2.5.1 ( SPARC ) - Install Log
目的: | Solaris 2.5.1 SPARCにwu-ftpをインストールし、Anonymous FTPを構築する。 その際、FTPのログを取得できるようにする。4/small> |
資源: | wu-ftpd-2.4.tar.gz |
謫セ元: | ftp.uu.net/networking/ftp/wuarchive-ftpd ( 192.48.96.9 ) |
01.ダウンロードしたアーカイヴファイルの展開
02.コンパイル
03.インストール
04.FTP設定ファイルのコピー
05.Anonymous FTP設定
06.動作確認
#gunzip wu-ftpd-2.4.tar.gz
#tar xvf wu-ftpd-2.4.tar
02.コンパイル(Cシェルで行う。SuperUserでないこと。パスを通しておく。)
%In -s . arpa
%setefv LANG C
%./build sol%setenv LANG Cはコンパイル時の環境変数がftpdのメッセージに影響を及ぼす為です。
Solarisのデフォルトはjaになっているため、これをやっておかないとftp<'font>で接続したときに「デーモンの作成時刻」が日本語で表示され、クライアントによっては文字化けしてしまう。%vi makefiles/Makefiles.sol
Makefilesを編集することによってftpdのインストール先などを変更することができます。
デフォルトのままでもよければ変更する必要はありません。BINDIR=/usr/local/sbin
MANDIR=/usr/local/man など。編集したMakefiles.solはファイル名をMakefileに変え、一つ上のディレクトリっコピーする。
#build install
Makefileで指定したディレクトリへftpdとマニュアルがそれぞれインストールされます。
これ以降の行はrootで行います。
#cp doc/example/ftpaccess /etc
#cp doc/example/ftpusers /etc
#cp doc/example/ftpconversions.solaris /etc/ftpconversions
#cp doc/example/ftphosts /etc
#cp doc/example/ftpgroups /etcここでコピーしたファイルを編集することによって、FTPをカスタマイズすることが可能です。
それぞれのファイルについて簡単に説明します。ftpaccessファイル
ユーザのクラスと、クラスメンバーのアーカイブへのアクセスを定義し、どのようなメッセージをいつ表示するかをコントロールし、ftpdの多岐にわたり雑多な細部にわたる振る舞いを制御します。ftpusers
特定のアカウントをもつユーザからのアクセスを拒否することができます。ftpconversionsファイル
アーカイブファイルの拡張子を元に行われるファイルの自動処理機構をサポートします。ftphostsファイル
アクセスしてくるホストを制限することができます。ftpgroupsファイル
グループによってアクセス制限をすることができます。
#useradd -u 230 -d /export/ftp ftp
anonymous ftpを許可するためにftpというアカウントを新規に作成します。
ユーザID(230)は適当につけてください。ftpとして提供するディレクトリはここでは/export/ftpになっていますが、それぞれの環境にあわせて変更して下さい。#mkdir ~ftp/bin ~ftp/usr ~ftp/usr/lib ~ftp/dev ~ftp/etc
anonymous ftpでは、認証後、「~ftp」に
chrootするので、「~ftp」以下に仮想的な「/」を作成しておく必要があります。 #vi ~ftp/etc/passwd
そのための設定として、passwdファイルも必要となります。/etc/passwdをそのまま利用するのは危険なので、rootとftpだけ残し、後で削除します。
例)
root:x:0:1::/:/sbin/sh
ftp:x:230:23::/export/ftp:/sbin/sh#cp /bin/ls /bin/compress ~ftp/bin
anonymous ftpで利用するバイナリを用意します。
#cp /usr/lib/libw.so.1 /usr/lib/libintl.so.1 /usr/lib/libc.so.1 /usr/lib/libdl.so.1 /usr/lib/ld.so.1 ~ftp/usr/lib
最低限、これだけのライブラリを必要としますので、それらをコピーします。
#chmod -R 111 ~ftp/bin
パーミッションを変更。
#cd ~ftp/dev デバイスを作成する場所へ移動。
#mknod udp c 11 41
udpデバイスの作成。ここで指定している11(メジャー番号)と41(マイナー番号)はsodarisの値です。
他のOSの場合、lsを使用し本腹(/dev/udp)の番号を調べて下さい。例)
#ls -lL /dev/udp
crw-rw-rw- 1 root sys 11,41 12月12日1997年 /dev/udp4font face="Verdana" color="#FF8000">#mknod tcp c 11 42
#mknod zero c 13 12
#chmod go+w udp tcp zero同様にtcp、zeroも作成します。最後にパーミッションを設定します。
#vi /etc/inetd.conf
inetd経由で呼び出されるように、inetd.confファイルを編集します。
例)
省略
ftp stream tcp nowait root /usr/local/sbin/in.ftpd in.ftpd -a -l -o -i
省略コマンドライン・オプション
-d : syslogへデバッグ情報を送ります。
-a : ftpaccessファイルの使用を許可します。
-A : ftpaccessファイルの使用を不可にします。
-L : ftpdはUSERユーザ名の特定・変更の際に用いられるすべてのUSERコマンドを記録します。
-i :ftpdはすべてのアップロードされるファイルをxferlogファイルに記憶します。
-o : ftpdはすべてのダウンロードされるファイルをxferlogファイルに記憶します。その他のオプションも存在します。<'small>
#ps -ef | grep inetd
inetdのプロセスIDを調べます。
root 131 1 0 9月 18?0:02 /usr/sbin/inetd -s<'font>
#kill -HUP 131
変更を有効にする為に、inetdにHUPシグナルを送ります。
#ftp localhost
動作確認をします。4br> anonymousアカウント、ftpアカウントでのログイン、コマンドの使用、ホームディレクトリを確認します。
ログを取得するようにオプションをつけた場合、ログが記憶されているかどうか確認します。例)
通常、/var/log/ftpd/xferlogに作成されます。
見つからない場合はxferlogをfindしてください。