Product SiteDocumentation Site

11.3. FTP ファイルサーバ

FTP (File Transfer Protocol) はインターネットにおける最初のプロトコルの 1 つです (RFC 959 は 1985 年に発行されました!)。FTP は Web が生まれる前にファイルを配布するために使われました (HTTP プロトコルは 1990 年に作られ、1996 年の RFC 1945 でバージョン 1.0 が正式に定義されました)。
FTP を使うことで、ファイルのアップロードとダウンロードが可能です; この理由から、現在でもインターネットサービスプロバイダによってホストされているウェブサイトの更新 (およびウェブサイトを構成する要素) を配置するために広く使われています。この場合、ユーザ識別子とパスワードを使って安全なアクセスが強制されます; 認証に成功したら、FTP サーバはそのユーザのホームディレクトリに対する読み書きアクセスを許可します。
他の FTP サーバは主に、一般のユーザがダウンロードできる、ファイルを配布するために使われます; これの良い例が Debian パッケージです。サーバの内容は別の、地理的に離れている、サーバから取得されます; ユーザは距離の近いサーバを使う事が可能になります。これはクライアント認証が不要になる事を意味します; 結果的に、この挙動は「匿名 FTP」として知られています。完全に正しく言えば、クライアントは匿名のユーザ名で認証します; パスワードは、慣例的に、ユーザの電子メールアドレスですが、サーバはこれを無視します。
Debian では、多くの FTP サーバ (ftpdproftpd-basicpyftpd など) が利用可能です。Falcot Corp 管理者は vsftpd を選びました。なぜなら、管理者だけが幾つかのファイルを配布する (Debian パッケージリポジトリ用) ために FTP サーバを使うからです; 管理者は高度な機能を必要としておらず、セキュリティの観点を重視しているからです。
パッケージをインストールすると、ftp システムユーザが作成されます。このアカウントは匿名 FTP 接続の際に常に使われるものです。このアカウントのホームディレクトリ (/srv/ftp/) はこのサービスに接続するユーザ向けに利用可能にされます。デフォルト設定 (/etc/vsftpd.conf) では操作に大きな制限が加えられています: デフォルト設定では、読み込み専用アクセスだけが許可されています (write_enableanon_upload_enable オプションが無効化されているため)。ローカルユーザは自分のユーザ名とパスワードを使って接続できないし、自分のファイルにアクセスする事もできません (local_enable オプション)。しかしながら、このデフォルト設定は Falcot Corp のニーズによく適合します。