Solaris のシステム管理 (ネットワークサービス)

仮想ホスティング

仮想ホスティングにより、FTP サーバーは同一マシン上の複数ドメインをサポートできます。各仮想ホストには、独立した論理インタフェースと IP アドレスが必要です。

FTP サーバーは、「限定」と「完全」の 2 種類の 仮想ホスティングをサポートします。限定仮想ホスティングでは、すべての仮想ホストが同じ構成ファイルを使用します。完全仮想ホスティングでは、各仮想ホストは個別の構成ファイルを使用できます。


注 –

デフォルトでは、実ユーザーとゲストユーザーは、仮想ホストへのログインを拒否されます。次に示す ftpaccess 指令を設定すると、デフォルトを上書きできます。


To allow access to specific users:
virtual address allow username
To deny access to anonymous users:
virtual address private username

詳細は、ftpaccess(4) のマニュアルページを参照してください。

Procedure限定仮想ホスティングを有効にする方法

限定仮想ホスティングでは、仮想 FTP サーバーの部分的なサポートを提供します。限定仮想ホスティングのサポートを有効にするには、仮想ルートディレクトリを指定します。必要であれば、次に示す仮想ホストのパラメータを ftpaccess ファイルに設定することもできます。

ftpaccess ファイル内のすべての指令は、すべての仮想サーバーによりグローバルに共有されます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次のエントリを ftpaccess ファイルに追加します。


    virtual address root|banner|logfile path
    virtual address hostname|email string
    
    virtual

    仮想サーバー機能を有効にするために使用するキーワード

    address

    仮想サーバーの IP アドレス

    root

    仮想サーバーのルートディレクトリ

    banner

    仮想サーバーへの接続が確立したときに表示されるバナーファイル

    logfile

    仮想サーバーに対するファイル転送の記録

    path

    仮想サーバー上のディレクトリとファイルの場所の指定に使用する変数

    email

    メッセージファイルと HELP コマンドで使用される電子メールアドレス

    hostname

    グリーティングメッセージやステータスコマンドで表示されるホスト名

    string

    email パラメータまたは hostname パラメータの指定に使用する変数


    注 –

    hostname を仮想サーバーの address として使用することは可能ですが、それよりも IPv4 アドレスの使用を強く推奨します。hostname に一致するホストを見つけられるようにするには、FTP 接続を受信するときに DNS が使用可能になっている必要があります。IPv6 ホストの場合は、IPv6 アドレスよりもホスト名を使用します。



例 28–15 ftpaccess ファイルによる限定仮想ホスティングの有効化


virtual 10.1.2.3 root    /var/ftp/virtual/ftp-serv
virtual 10.1.2.3 banner  /var/ftp/virtual/ftp-serv/banner.msg
virtual 10.1.2.3 logfile /var/log/ftp/virtual/ftp-serv/xferlog

この例では、仮想 FTP サーバー上の root ディレクトリ、bannerlogfile の場所を設定します。



例 28–16 コマンド行での限定仮想ホスティングの有効化

ftpaddhost(1M) スクリプトを -l オプション付きで使用して、限定仮想ホストを構成できます。

次の例では、ftpaddhost-l -b -x オプションとともに実行して、テストバナーと、仮想ルート /var/ftp/virtual/10.1.2.3 の下にあるログファイル /var/ftp/virtual/10.1.2.3/xferlog を使用する限定仮想ホスティングを構成します。


# ftpaddhost -l -b -x /var/ftp/virtual/10.1.2.3/xferlog \
/var/ftp/virtual/10.1.2.3

Procedure完全仮想ホスティングを有効にする方法

完全仮想ホスティングでは、各仮想ドメインは個別の構成ファイルを使用できます。FTP サーバー上の仮想ホスティングの完全サポートを有効にするには、特定のドメインについて次に示す FTP 構成ファイルを作成または変更します。

詳細は、ftpaccess(4)ftpusers(4)ftpgroups(4)ftphosts(4)ftpconversions(4) のマニュアルページを参照してください。


注 –

構成ファイルの個別のバージョンが見つからない場合は、/etc/ftpd ディレクトリに置かれた構成ファイルのマスターバージョンを使用します。


  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。

  2. 次のエントリを /etc/ftpd/ftpservers ファイルに追加します。


    address /config-file-dir
    
    address

    仮想サーバーの IP アドレス

    config-file-dir

    仮想ホスト用にカスタマイズされた構成ファイルが置かれるディレクトリ


    注 –

    hostname を仮想サーバーの address として使用することは可能ですが、それよりも IPv4 アドレスの使用を強く推奨します。hostname に一致するホストを見つけられるようにするには、FTP 接続を受信するときに DNS が使用可能になっている必要があります。IPv6 ホストの場合は、IPv6 アドレスよりもホスト名を使用します。


  3. 仮想ホスト用にカスタマイズされた FTP サーバー構成ファイルを作成するには、/etc/ftpd ディレクトリにある構成ファイルのマスターバージョンを /config-file-dir ディレクトリにコピーします。

    詳細は、ftpservers(4) のマニュアルページを参照してください。


例 28–17 ftpservers ファイルによる完全仮想ホスティングの有効化


#
# FTP Server virtual hosting configuration file
#

10.1.2.3 /net/inet/virtual/somedomain/
10.1.2.4 /net/inet/virtual/anotherdomain/

この例では、仮想サーバー上の 2 つの異なるドメインの IP アドレスを指定します。



例 28–18 コマンド行での完全仮想ホスティングの有効化

ftpaddhost(1M) スクリプトを -c オプション付きで使用して、完全仮想ホストを構成できます。

次の例では、ftpaddhost-c -b -x オプションとともに実行して、テストバナーと、仮想ルート /var/ftp/virtual/10.1.2.3 の下にあるログファイル /var/ftp/virtual/10.1.2.3/xferlog を使用する完全仮想ホスティングを構成します。


# ftpaddhost -c -b -x /var/ftp/virtual/10.1.2.3/xferlog \
/var/ftp/virtual/10.1.2.3