FTPとはネットワーク経由でファイルを転送するためのプロトコルです。インターネット上にあるサーバからファイルをダウンロードしたりするときに無意識のうちにFTPサーバを使用しているかと思います。この場合はFTPデーモンがサーバ上で起動されている場合が多いです。(HTTPでファイルをダウンロードできるようにしている場合もあります) FTPを使用する場合はLINUXに登録したユーザがアクセスするのが基本ですが、ユーザに関係なくアクセスできる仕組みとしてanonymous(匿名)FTPというサービスも存在します。
ユーザーごとに設定されたアクセス権をもとにunixの流儀でディレクトリやファイルへのアクセスをコントロールします。ほとんどのLinuxディストリビューションでは、インストール直後にデフォルトでサービスが始まるようになっているものが多いようです。
FTPについての基礎的な解説は、こちらのページが詳しいので、ぜひご確認ください。
RedHat Linux 7.3までではwu-ftpdというftpサーバソフトウエアが標準で組み込まれていました。しかし、wu-ftpdはたびたびセキュリティ面で不具合が報告され頻繁なバージョンアップが繰り返されていてサーバ管理者の悩みの種ともなっていたようです。
1.FTPサーバプログラム
Redhat Linux 8.0のインストールCD−ROMにはFTPサーバプログラムとしてWU-FTPDとVSFTPDの2種類が収録されています。RedhatLinuxの7.3まではWU-FTPDが標準的に利用されていましたが、Redhat Linux 8.0からは、よりセキュリティ面が考慮して開発されたVSFTPDが標準のFTPサーバデーモンとして利用されるようになりました。従って、RedhatLinuxの8.0に乗り換えたことを契機に、いままで使っていたWU-FTPDからVSFTPDに私もFTPサーバプログラムを乗り換えることにしました。
![]() telnet & ftpがわかるとネットワーク通信に差が出る (UNIX版) |
![]() FTPがわかればホームページの更新・管理が簡単にできる |
![]() LinuxサーバHacks―プロが使うテクニック&ツール100選 |
![]() Linux+SambaでWindowsファイルサーバーを構築する―無料で作るWindowsファイルサーバー |
2.vsftpdのインストール
FTPサーバを構築するためのRPMパッケージがCD2に入っています。このcd−romをマウントして、rpmコマンドで該当のファイルをインストールします。
- # rpm -ihv /mnt/cdrom/RedHat/RPMS/vsftpd-1.1.0-1.i386.rpm
該当のパッケージをインストールした状態のままでは、まだftpを使用できる状態になっていません。vsftpdはxinetd経由で実行される仕組みになっていますので、次のコマンドを実行するようにします。
- # chkconfig vsftpd on
ここまでで、Linuxサーバに登録されたユーザアカウントを使うことで、ユーザのホームディレクトリにftp接続ができるようになります。
| ジブリがいっぱい |
ホームシアター導入特集 |
人気家具 |
iPodシリーズが安い |
高級品市場 |
格安液晶テレビ |
| 新製品・最新家電 |
液晶テレビやiPod特価 |
インテリア激安 |
楽天ザ・バーゲン |
激安アウトレット特集 |
DVDレコーダ市場 |
3.vsftpdのディレクトリ構造
RedHat8の場合はrpmコマンドで導入したvsftpdのディレクトリ構造は下記のような形になります。
/---etc---xinetd.d------vsftpd xinetdでvsftpdを起動するためのファイル
---vsftpd,conf vsftpdにかかわる基本的な設定ファイル
---ftpusers ftp接続を禁止するユーザを列記
---usr---sbin---------vsftpd FTPデーモン
---var---ftp AnonymousFTP用ディレクトリ
---log----------xferlog ファイル転送のログが記録される
4.FTPサーバへの接続
FTPサーバを利用するためのクライアントはシェル上でFTPコマンドを使ってFTPサーバにアクセスし、PUT(アップロード)とGET(ダウンロード)を行います。Windowsで使用するFTPクライアントソフトはGUIを持つものがほとんどになりましたが、現在でもWindowsにはコマンドラインベースのFTPクライアント機能が備わっています。スタートメニューの「ファイル名を指定して実行」を選択して、
- ftp 192.168.0.4
という形で、ftpサーバのipアドレスやサーバ名を指定することで、ftpサーバにアクセスできるようになります。上記コマンドを打つと認証を求められますので、認証を行えば、ディレクトリの移動やファイルのアップロード、そしてダウンロードといったことがコマンドでできるようになります。主なftpコマンドは以下の通りです。
| コマンド | 操作 |
|---|---|
| cd パス名 | ディレクトリ移動 |
| ls | カレントディレクトリのファイル一覧 |
| put ファイル名 | ファイル送信 |
| get ファイル名 | ファイル受信 |
| quit | 接続の終了 |
Windowsから使用できるGUIベースのFTPクライアントにはFFFTPなどのソフトウエアも存在します。

PR>種類が豊富 >>【● BTO-PCショップ Storm ●】<<仕様変更OK
また、windowsをインストールした時点からDOSプロンプト(コマンドプロンプト)上で使えるテキストベースのFTPも付属しています。また、ホームページビルダー等のホームページ作成ソフトにも、作成したページをサーバへアップロードするためにFTPクライアントソフトが付属している場合があります。
5.匿名で使えるFTPサーバの立ち上げ
通常はFTPサーバに接続するとユーザ名とパスワードを入力してログインする必要があります。そのため、FTPサーバを使用する利用者はUNIXにユーザ登録をしなければいけないことになります。しかし、あるソフトウエアをインターネット上で公開し、不特定多数のユーザにダウンロードしてもらう場合等を考慮すると、これらのユーザを全てUNIXにユーザ登録するのは現実的ではないため、何か特別な仕組みが必要になります。この特別な仕組みがanonymous FTPです。これを使用すれば、UNIXにユーザ登録をすること無しにFTPにアクセスすることができるようになります。
anonymous FTPを立ち上げるためには、CD1に入っているanonftpというRPMパッケージを追加インストールします。RedHat8の場合は下記のコマンドでインストールすることができます。
- # mount /mnt/cdrom
- # rpm -ihv /mnt/cdrom/RedHat/RPMS/anonftp-4.0-12.i386.rpm
- # umount /mnt/cdrom
vsftpdでは最初からanonymus FTPを使用するための設定が行われています。vsftpdの設定ファイルは、/etc/vsftpd.confとなります。このファイルの中の以下の記述箇所が匿名で使用できるか否かが決まります。もし、anonymous接続を行わせたくない場合は、YESの部分をNOに書き換えるようにします。
- # Allow anonymous FTP?
- anonymous_enable=YES
通常はanonymous FTPはダウンロードオンリーでユーザに開放するのがふつうですが、上記のCONFファイルの中で一部を書き換えればファイルのアップロードも行うことができるようになります。
- # anon_upload_enable=YES ←先頭の#をとるとアップロードを許す設定となる
対象者を特定しないでソフトウエアの配布を行ったりするために、利用者のプラットフォームを問わないサービスとしてAnonymous FTPサービスは非常に重宝しますが、反面、悪用されて問題が発生することも想定されます。特にアップロードも自由に許すようにすると、違法なファイルの交換等に使われる可能性もあるため、サービスの公開にあたっては慎重に検討したほうが良いと思います。
6.セキュリティ
FTPサーバを使用してサーバにデータを書き込んだりデータを削除したりすることが出来ますが、FTPサーバをインターネット上で公開する場合は、いろいろな人からアクセスできることになるので、セキュリティには十分に注意をする必要があります。ポイントは作成するユーザが使用するシェルを、/bin/bashのような実際に機能するシェルではなくて、/sbin/nologinのようなシェルとして機能しないダミーシェルにすることで宇。具体的には、
- # useradd -s /sbin/nologin ftpuser
- #passwd ftpuser
のようにFTPログイン専用のユーザを登録していくかたちになります。また、/etc/vsftpd.ftpusers にLinuxユーザの中でFTP接続の許可を与えたくないユーザを定義するファイルがあります。ここでFTPログインの必要のないユーザは全て定義することをおすすめします。
7.ルータの設定
ポート番号の解説は「鷹の巣の自宅サーバ」に詳しく書かれていますのでご確認ください。ルータの設定方法については、本サイトに各機種の設定例があります。
| 機種 | リンク | 説明 |
|---|---|---|
| ADSLモデムのルータ化 | こちら | NTTのフレッツADSL8Mサービスに使うMNモデムのルータ化 |
| LINKSYS BEFSR41 | こちら | |
| 富士通 iA112S | こちら | IP電話用のTAですがルータ機能も持っています |
| NTT東日本 MNV | こちら | ADSLモデム+ルータ+IP電話用TA |
| NTT東日本 WEBCASTER V100 | こちら | |
| LINKSYS BEFSR41C-JP | こちら |
8.FTPサーバのテスト
自宅のネットワーク外からアクセスしたときにFTPサーバがうまく動いているか否かをチェックするためのホームページが公開されています。
9.FTPに変わるプロトコル
WebDAV とは 従来はWEBサービスで使われてきたHTTP/1.1 の拡張機能の一つで、HTTP を使用してサーバー/クライアント 間のファイル転送を可能とし、Webサーバーによるファイル共有を可能とする機能です。従来はファイル転送は主にFTPが使われてきましたが、たとえば会社のLANの中等のファイアウオール内部からはプロトコルが遮断されている場合でもWEBDAVはHTTPベースのプロトコルであるため使用できる場合があること、マイクロソフトのインターネットエクスプローラの新しいバージョンでは標準でクライアントとしての機能をサポートし始めたことにより、徐々に使われるようになってきました。こちらのページにWebDAVの解説をしていますので、あわせてご確認ください。
アンケート
![]()
![]()
| 累計 |
|
人 | 本日 |