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