第1部 構築編

お試し

匿名 FTP のルートを変更?

前項で FTP サーバの機能が利用できるようになったことは書いた。
しかし、俗に言う匿名 FTP (anonymous FTP) でログインした場合のルートが /var/ftp で、その下にあるディレクトリが見えてしまう問題は解決できず仕舞いだった。

この /var/ftp の下にあるディレクトリは bin/etc/lib/pub/ の四つである。
どうも様々な文献やその手のサイトを見て回ると、通常のユーザで実機にログインすると存在する /bin/etc/lib などのディレクトリを仮想的に作っているらしいのだ。
つまり匿名 FTP でログインするとルートが /var/ftp になるが、/var/ftp/bin が実際の /bin の代わり、/var/ftp/etc/etc の代わり、という形になるらしい。

だからどうした?

FTP で ls コマンドとか使えて楽しいのか?
UNIX ハッカーや Linux ハッカーを相手にサーバ公開するほど俺は Linux にも FTP にも詳しくないし、極端な話しブラウザの FTP クライアント機能でファイルのダウンロードが出来ればよいのだ。

そんな物は要らん

ちゅ~わけで、諦めずに調べる、調べる………
調べても見付からない………(泣)

途中この日記を読んで下さっている経験者の方に参考ページの URIs を教えて貰ったりしたが、今一つピンと来ない………
ピンと来ないが………ん?

一個気になる記述を発見。

ftpサーバーは、ftpないしanonymousがログインしてきた時には、ユーザーftpのホームディレクトリにchrootしてからサービスを提供する(ユーザーftpのホームディレクトリを仮想的なルートディレクトリとして動作する)。この機能によって、anonymousユーザーは公開したディレクトリの外には絶対にアクセスすることができないようになっているのだ。

つまり、ユーザ ftp のホームディレクトリを変更すれば、よいわけか?
取り敢えず、以下のコマンドを打って、ユーザ ftp の情報を引き出してみた。

finger ftp

すると………

Login: ftp                              Name: FTP User
Directory: /var/ftp                     Shell: /sbin/nologin

と表示されたぞ………
これを変更すればもしかしたら………?

んで、ユーザのホームディレクトリを変更するコマンドを探す、探す、探す………
………?

ないってそんなもん(涙)

だが、またも気になる記述にぶち当たる。
/etc/passwd というファイルにユーザの情報一覧があるという。
と言うわけで、root でログインして、件の /etc/passwd を覗いてみると………

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

という記述を見付けた。
vi を起動して、これを以下のように書き換えてみた。

ftp:x:14:50:FTP User:/var/ftp/pub:/sbin/nologin

んで、メイン環境の Netscape7 で ftp://192.168.1.99/ を打つと………
ディレクトリが何も表示されない、多分 /var/ftp/pub を直接見に行っているのだろう。
でも確証無いし、正常にファイルがダウンロードできるかどうかも怪しいので、取り敢えず何かファイルをコピーしてみる。
Apache のドキュメントルートにたしか PNG の画像ファイルがあったと思ったので、

cp /var/www/html/poweredby.png /var/ftp/pub

とタイプしてファイルをコピー。

この辺りは過去 MS-DOS で普通にやっていた経験がそのまま使えて嬉しい。

再びブラウザで見てみると、確かに poweredby.png が見えている、間違いない。
さらにファイル名をクリックしてみると、Netscape7 の画面には赤い帽子の男の画像が!!
ってことは、正常にコピーできたということだ。

これで、ウェブページを公開した際にも、アーカイブなんかをダウンロードさせるのに FTP をより安全に利用できるようになった、気がする………(汗)
後々ユーザ ftp のホームディレクトリを無理矢理変えてしまった反動が出るかもしれないけど………

うん、その時はその時だ(爆)

Valid HTML 4.01 Strict Valid CSS!