第29章 YaSTを使用したFTPサーバの設定

目次

29.1. FTPサーバの起動
29.2. FTP一般設定
29.3. FTPパフォーマンス設定
29.4. 認証
29.5. エキスパート設定
29.6. 参照先

概要

YaST [FTPサーバ]モジュールを使用すると、コンピュータをFTP(File Transfer Protocol)サーバとして機能するように設定できます。匿名および/または認証されたユーザがコンピュータに接続し、FTPプロトコルを使用してファイルをダウンロードできます。設定によっては、それらのユーザがFTPサーバにファイルをアップロードすることも可能です。YaSTは、システムにインストールされた各種のFTPサーバデーモンに統一された設定インタフェースを提供しています。

YaST[FTP サーバ]設定モジュールを使用すると、2つの異なるFTPサーバデーモンを設定できます。

設定できるのは、インストール済みサーバだけです。

vsftpdサーバとpure-ftpdサーバの設定オプションは多少異なります(特に、[エキスパート設定]ダイアログ)。この章では、vsftpdサーバの設定について説明します。

YaST FTPサーバモジュールがシステム内にない場合は、yast2-ftp-serverパッケージをインストールしてください。

YaSTで、FTPサーバを設定するには、次の手順に従います。

  1. YaSTコントロールセンターを開き、[ネットワークサービス]+[FTP Server]の順に選択するか、rootとしてyast2 ftp-serverコマンドを実行します。

  2. システムにFTPサーバがインストールされていない場合は、YaST FTPサーバモジュールの起動時に、インストールするサーバをどれにするか質問されます。サーバを選択してダイアログを確認します。2つのサーバがインストールされている場合は、サーバを選択して、[OK]をクリックします。

  3. 起動ダイアログで、FTPサーバの起動に関するオプションを設定します。詳細については、29.1項 「FTPサーバの起動」を参照してください。

    一般]ダイアログで、FTPディレクトリ、歓迎メッセージ、ファイル作成マスクなどの各種パラメータを設定します。詳細については、29.2項 「FTP一般設定」を参照してください。

    [Performance]ダイアログで、FTPサーバの負荷に影響するパラメータを設定します。詳細については、29.3項 「FTPパフォーマンス設定」を参照してください。

    [認証]ダイアログで、匿名および/または認証されたユーザに対してFTPサーバを使用可能にするかどうか設定します。詳細については、29.4項 「認証」を参照してください。

    [エキスパート設定]ダイアログで、FTPサーバの操作モード、SSL接続、およびファイアウォール設定を設定します。詳細については、29.5項 「エキスパート設定」を参照してください。

  4. [完了]を押して設定を保存します。

29.1. FTPサーバの起動

[FTP Start-Up]ダイアログの[サービス開始]フレームで、FTPサーバを起動する方法を設定します。システムブート時の自動的なサーバ起動とサーバの手動起動のどちらかを選択できます。FTP接続要求後にのみFTPサーバを起動する場合は、[xinetd経由]を選択します。

FTPサーバの現在のステータスが、[FTP Start-Up]ダイアログの[開始/停止]フレームに表示されます。[FTPを開始する]をクリックして、FTPサーバを起動します。サーバを停止するには、[FTPを停止する]をクリックします。サーバの設定を変更したら、[設定を保存してFTPを再起動する]をクリックします。[完了]を押して設定モジュールを終了すると、設定が保存されます。

FTP起動]ダイアログの[選択されたサービス]フレームに、使用されるFTPサーバ(vsftpdまたはpure-ftpd)が表示されます。両方のサーバがインストールされている場合、それらの間で切り替えることができます。現在の設定は自動的に変換されます。

図29.1 FTPサーバの設定 - 起動

FTPサーバの設定 - 起動

29.2. FTP一般設定

[FTP General Settings]ダイアログの[一般の設定]フレームで、FTPサーバへの接続後に表示される[Welcome message]を設定できます。

[Chroot Everyone]オプションをオンにした場合は、すべてのローカルユーザが、ログイン後、ホームディレクトリのchroot jailに配置されます。このオプションは、セキュリティに影響します(特に、ユーザがアップロードパーミッションまたはシェルアクセスを持つ場合)。したがって、このオプションの有効化には、注意が必要です。

[Verbose Logging]オプションをオンにすると、すべてのFTP要求と応答がログされます。

匿名および/または認証されたユーザが作成するファイルのパーミッションは、umaskで制限できます。[Umask for Anonymous])で匿名ユーザ用のファイル作成マスクを設定し、[Umask for Authenticated Users]で認証されたユーザ用のファイル作成マスクを設定します。マスクは、必ずゼロで始まる8進数として入力してください。umaskの詳細については、umaskマニュアルページ(man 1p umask)を参照してください。

[FTP Directories]フレームで、匿名/認証されたユーザ用のディレクトリを設定します。[参照]をクリックすると、ローカルファイルシステムから使用できるディレクトリを選択できます。匿名ユーザのデフォルトFTPディレクトリは、/srv/ftpです。ただし、vsftpdでは、このディレクトリにすべてのユーザが書き込むことはできません。代わりに、書き込みパーミッション付きのサブディレクトリuploadが匿名ユーザ用に作成されます。

[Note]FTPディレクトリの書込みパーミッション

pure-ftpdサーバでは、匿名ユーザ用のFTPディレクトリを書き込み可能にできます。サーバ間で切り換えを行う場合は、vsftpdサーバに戻す前に、pure-ftpdで使用したディレクトリから書き込みパーミッションを削除したことを確認してください。

29.3. FTPパフォーマンス設定

パフォーマンス]ダイアログで、FTPサーバの負荷に影響するパラメータを設定します。[Max Idle Time]は、リモートクライアントがFTPのコマンド間で待機できる最大時間(分)です。これよりアクティビティのない時間が長くなると、リモートクライアントの接続は切断されます。[Max Clients for One IP]では、1つのIPアドレスから接続できるクライアントの最大数を決定します。[最大クライアント]では、接続できるクライアントの最大数を決定します。クライアントをさらに追加すると、エラーメッセージが表示されます。

最大データ転送速度(KB/秒)の設定は、ローカルの認証されたユーザについては[Local Max Rate] 、匿名クライアントについては[Anonymous Max Rate]で行います。速度設定のデフォルト値は、0であり、無制限のデータ転送速度を意味します。

29.4. 認証

[認証]ダイアログのEnable/Disable Anonymous and Local Users]フレームでは、どのユーザにFTPサーバへのアクセスを許可するか設定できます。次のオプションのいずれかを選択できます: 匿名ユーザのみ、(システムにアカウントのある)認証されたユーザのみ、またはその両方のタイプのユーザにアクセスを付与します。

FTPサーバへのファイルのアップロードを許可するには、[認証]ダイアログの[Uploading]フレームにある[Enable Upload]をオンにします。ここでは、各ボックスにチェック印を入れることで、匿名ユーザにも、アップロードまたはディレクトリの作成を許可できます。

[Note]vsftp—匿名ユーザのファイルのアップロードを許可する

vsftpdサーバを使用し、匿名ユーザにファイルをアップロードさせたり、ディレクトリを作成させる場合は、すべてのユーザ用書き込みパーミッション付きのサブディレクトリを、匿名FTPディレクトリ内に作成する必要があります。

29.5. エキスパート設定

FTPサーバは、アクティブモードまたはパッシブモードで実行できます。デフォルトでは、サーバはパッシブモードで実行されます。アクティブモードに切り換えるには、[エキスパート設定]ダイアログの[パッシブモードを許可する]オプションのチェックをオフにするだけです。データストリーム用に使用するサーバのポート範囲を変更することもできます。このためには、[Min Port for Pas. Mode][Max Port for Pas. Mode]のオプションを微調整します。

クライアントとサーバ間で暗号化された通信が必要な場合は、SSLを有効にできます。サポートされるプロトコルのバージョンをチェックし、SSL暗号化接続で使用されるDSA証明書を指定します。

システムがファイアウォールで保護されている場合は、[ファイアウォール内でポートを開く]をオンにして、FTPサーバへの接続を有効にします。

29.6. 参照先

FTPサーバの詳細については、pure-ftpdvsftpd、およびvsftpd.confのマニュアルページを参照してください。