管理の手引き


付録 A. NFS/AFS 変換プログラムの管理

NFS(R)/AFS(R) 変換プログラムを使用すると、 NFS クライアント・マシンで作業するユーザーが、 AFS に保管されるファイルへのアクセス、ファイルの作成および除去を行うことができます。この章では、 NFS と AFS の両方に精通していることを想定しています。


説明の要約

本章では、指示されたコマンドを使用した以下のタスクの実行方法を説明します。
ディレクトリーを変換プログラム・マシンに取り付ける mount
@sys の値を検査する fs sysname
AFS の再エクスポートを使用可 / 使用不可、その他のパラメーターを設定 fs exportafs
NFS クライアント・マシンのユーザーに AFS トークンを割り当てる knfs


概説

NFS/AFS 変換プログラムを使用すると、NFS クライアント・マシン上のユーザーは、 AFS クライアント・マシンで作業しているかのように AFS のファイル・スペースにアクセスすることができ、他の AFS ユーザーとの協力が容易になります。

NFS/AFS 変換プログラム・マシン (または単に 変換プログラム・マシン) は、 AFS クライアントと NFS サーバーの両方として構成されたマシンです。

非認証または認証済みの AFS アクセスを使用可能にする

変換環境を適切に構成することにより、 NFS クライアント・マシンから AFS への非認証または認証済みアクセスを許可することができます。変換マシン、NFS クライアント・マシン、および AFS ユーザー・アカウントの構成に関するこの章のこの機能グループでは、変換環境の適切な構成方法について説明します。

AFSSERVER および AFSCONF 環境変数の設定

NFS ユーザーを使用可能にして AFS コマンドを発行するには、そのコマンド・シェルで AFSSERVER および AFSCONF 環境変数を定義する必要があります。このセクションでは、変数の機能について説明し、その各種設定方法の概要を示します。

AFS コマンドを発行するには、NFS クライアント・マシンが、サポートされるシステム・タイプ (AFS バイナリーが使用可能なシステム・タイプ) である必要もあります。サポートされないシステム・タイプの NFS クライアント・マシン上で作業をするユーザーは、認証ユーザーとして AFS にアクセスできますが、AFS コマンドを発行することはできません。このようなユーザーには、 AFSSERVER および AFSCONF 変数を定義する必要はありません。 knfs コマンドを使用して、非サポートのシステム・タイプへの認証アクセスを取得する方法については、 非サポート NFS クライアント・マシンでの認証 を参照してください。

AFSSERVER 変数

AFSSERVER 変数は、 NFS クライアントの 2 つの機能を実行する AFS クライアント・マシンを指定します。

リモート実行プログラムの選択は、キャッシュ・マネージャーの構成を表示または変更するコマンド (fs getcacheparmsfs getcellstatus、および fs setcell コマンドなど) に最も直接に影響します。 NFS クライアントでこれらのコマンドが発行されると、指定されたリモート実行プログラム・マシンにあるキャッシュ・マネージャーに影響を及ぼします。(ただし、このようなコマンドでは、発行者は、リモート実行プログラムのローカル・ファイルにローカル・スーパーユーザー root としてログインする必要のあるものがあります。 NFS クライアント・ユーザーの、root としてログインする機能は、 NFS/AFS 変換プログラムではなく、NFS が制御します。したがって、リモート実行プログラムを適切に構成するだけでは、 NFS クライアント・ユーザーはこのようなコマンドを発行することはできません。)

リモート実行プログラムの選択はまた、キャッシュ・マネージャー構成に関係のない AFS コマンドにも関係しますが、いずれのマシンにも同様の結果をもたらします (ACL およびボリューム割り当て量を表示または設定する fs コマンドなど) これらのコマンドは、その引き数に AFS パスを取ります。リモート実行プログラム・マシン上のキャッシュ・マネージャーが、通常 AFS クライアントに行うように /afs ディレクトリーに AFS ファイル・スペースを取り付ける場合、 NFS クライアントに指定されたパス名を文字列 /afs で開始し、キャッシュ・マネージャーがこれを解釈できるようにする必要があります。これには、リモート実行プログラムが、 NFS クライアントの 1 次変換プログラム・マシン (その /afs ディレクトリーが NFS クライアントの /afs に取り付けられているマシン) であることが暗黙指定となります。

AFSCONF 変数

AFSCONF 環境変数は、 NFS クライアント・マシンで発行された AFS コマンドを実行する際に使用する ThisCell および CellServDB ファイルを格納するディレクトリーの名前を付けます。 AFS クライアントの場合のように、これらのファイルによって、コマンドを実行するためのデフォルトのセルが決められます。

予測しうるパフォーマンスを得るためには、 AFSCONF 環境変数により名前を付けたディレクトリーにあるファイルは、変換プログラム・マシンの /usr/vice/etc ディレクトリーにあるファイルと同じであることが最適です。 /usr/vice/etc ディレクトリーにあるファイルの中央更新ソースとしての機能を果たす AFS ディレクトリーがユーザーのセルにある場合には、 AFSCONF 変数を設定してこれを参照するのが最も簡単な方法です。標準構成では、このディレクトリーは /afs/cellname/common/etc と呼ばれます。

変数の値の設定

AFSSERVER および AFSCONF 変数の値を識別するため、 AFS コマンド・インタープリターは、以下の 3 つのソースを順に参照します。

  1. 現行のコマンド・シェルの環境変数定義
  2. 発行もとのホーム・ディレクトリーにある .AFSSERVER または .AFSCONF ファイル
  3. NFS クライアント・マシンのルート (root) (/) ディレクトリーにある /.AFSSERVER ファイルまたは /.AFSCONF ファイル・クライアント・マシンがディスクレスである場合は、そのルート・ディレクトリーは、NFS サーバー・マシン上に常駐できます。

(実際に、これらのソースを参照する前に、 NFS クライアントは自らの /usr/vice/etc ディレクトリーで CellServDBThisCell ファイルを探します。ディレクトリーが存在する場合、NFS クライアントは AFSCONF 変数の値を使用しません。ただし、/usr/vice/etc ディレクトリーは通常 AFS クライアントにのみ存在し、 NFS クライアントには存在しません。)

先の説明のとおり、適切なパフォーマンスを得るには、一般的にリモート実行プログラムが NFS クライアントの 1 次変換プログラム・マシン (その /afs ディレクトリーが NFS クライアントの /afs ディレクトリーに取り付けられているマシン) である必要があります。この要件は、NFS クライアントから AFS にアクセスするすべてのユーザーに適用されるため、通常は NFS クライアントのルート・ディレクトリーに .AFSSERVER ファイルを作成するのが最も簡単な方法です。ユーザーのホーム・ディレクトリーにファイルを作成する、または現行のコマンド・シェルに AFSSERVER 環境変数を設定する主な理由としては、ユーザーが、オリジナルの変換プログラム・マシンにアクセスできなくなった場合に、別のマシンに切り換える必要のある場合があります。

同じく、一般的に、.AFSCONF ファイルを NFS クライアントのルート・ディレクトリーに作成するのは意味のあることです。ファイルをユーザーのホーム・ディレクトリーに作成する、または現行コマンド・シェルに AFSCONF 環境変数を設定することは、たとえばテスト状況などで、セルに異なるセットのデータベース・サーバー・マシンを指定する場合に最も役に立ちます。

NFS クライアント・マシンに保管されるファイルの遅延書き込み

AFS クライアント・マシンで実行されるアプリケーションがファイルに close または fsync システム呼び出しを行う場合、キャッシュ・マネージャーはデフォルトでファイル・サーバーへのデータの同期書き込みをします。 (詳細については、AFS がインプリメントするクローズ時の保管 および 非同期書き込みを使用可能にする を参照してください。)

変換プログラム・マシンで作業中のユーザーに対してパフォーマンスを低下させることのないよう、 AFS は 変換プログラム・マシンの NFS クライアント上で実行されているアプリケーションに対しては同期書き込みを行いません。代わりに、キャッシュ・マネージャー・デーモン (保守デーモン) が、 NFS クライアントに保管されたデータを含むキャッシュのチャンクを 60 秒ごとにチェックし、その内容をファイル・サーバーに書き込みます。これは、 NFS クライアントに保管されたデータが 60 秒以内にファイル・サーバーに書き込まれることを保証するものではなく、保守デーモンがチェックを行い、この間隔でデータの書き込みを開始するだけです。

さらに AFS は、NFS クライアントで発行された fsync システムを常に無視します。呼び出しは、ファイル・サーバーから即時に、おそらくは時間のかかる応答を要求し、これによりファイル・サーバーの他の AFS クライアントの遅延を生じさせる可能性があります。 NFS バージョン 3 は、 close 呼び出しの直後に自動的に fsync システム呼び出しを発行しますが、キャッシュ・マネージャーはこれを無視し、通常の close と同様に操作します。

遅延書き込み機構は、NFS アプリケーションがファイルに close または fsync システム呼び出しを発行する時間と、ファイル・サーバーに変更が記録される、つまり他の AFS クライアント・マシンで作業中のユーザーに対して (直接にまたは NFS クライアント上に) 表示される時間との間に、通常は遅延が生じることを意味します。遅延時間は、AFS クライアント・マシンで直接に作業をしているユーザーがファイルを保管する場合よりも、長くなります。

正確な遅延時間は、予測が困難です。NFS プロトコルそのものにおいては、保存したデータが NFS クライアントから NFS サーバー (変換プログラム・マシン) に転送される前に、標準的な遅延が可能です。変更されたデータは、保守デーモンが予定している次回のデータ・チェックまで変換プログラム・マシンの AFS クライアント・キャッシュにとどまり、データをファイル・サーバーに転送するには、余分な時間がかかります。保守デーモンは単一スレッドを使用するため、変更されたすべての NFS データの書き出し時間が 60 秒を超えると、追加して遅延が発生する場合があります。つまり、次回に予定されているチェック時に保守デーモンがデータの書き込みを行っている場合、その長時間の書き込み操作が完了した後の予定時刻までは、追加の変更データの通知はできません。

write システム呼び出しに対するキャッシュ・マネージャーの応答は、呼び出しが AFS クライアント・マシンで行われた場合でも、変換プログラム・マシンの NFS クライアントで行われた場合でも同じです。変更は、ローカルの AFS クライアント・キャッシュにのみ記録されます。


NFS/AFS 変換プログラム・マシン

NFS/AFS 変換プログラム・マシンとして動作するためには、マシンに以下の構成が必要です。

変換プログラム・マシンの NFS クライアント上のユーザーが AFS コマンドを発行する場合、変換プログラム・マシンは、AFS コマンドを受け入れるための変換プログラム・マシンの構成 にある要件も満たす必要があります。

NFS および AFS カーネル拡張のロード

NFS/AFS 変換プログラム・マシンとして動作するシステム・タイプに配布される AFS には、 2 つのバージョンの AFS カーネル拡張ファイルが含まれます。 1 つはカーネルが NFS サーバー機能をサポートするマシン用で、もう 1 つは NFS を使用しないマシン用です (後者の AFS カーネル拡張ファイルの名前には通常、文字列 nonfs が含まれています)。変換プログラム・マシンは、 NFS 使用可能バージョンの AFS 拡張ファイルを使用しなくてはなりません。システム・タイプによっては、ファイルを特定の位置に移動して適当なものを選択したり、変数を設定して適当なファイルを自動的に選択する場合があります。各システム・タイプにおける AFS のカーネルへの組み込みについては、 AFS インストールの手引き の説明を参照してください。

多くのシステム・タイプでは、NFS はデフォルトでカーネルに組み込まれているため、明示的に NFS カーネル拡張をロードする必要はありません。 NFS カーネル拡張をロードする必要のあるシステム・タイプの場合、一般的に AFS カーネル拡張をロードする前に NFS カーネル拡張をロードする必要があります。 AFS インストールの手引き には、マシンの始動シーケンスに AFS 初期化スクリプトを組み込み、 NFS を処理するスクリプトを反映して正しい順序にするための方法が説明されています。

またカーネルへの AFS 拡張のロードは、afsd コマンドを実行する前に行う必要があります。 AFS の配布に含まれる AFS 初期化スクリプトには、ロードと afsd コマンドが正しく配列されています。

AFS コマンドを受け入れるための変換プログラム・マシンの構成

変換プログラム・マシンの NFS クライアントで作業中のユーザーが AFS コマンドを発行するには、変換プログラム・マシンのキャッシュ・マネージャーを初期化する afsd コマンドに -rmtsys フラグを組み込む必要があります。フラグにより追加デーモン (リモート実行プログラム・デーモン) が開始し、 NFS に代わり AFS 固有のシステム呼び出しが実行されます。 NFS ユーザーが AFS コマンドを発行するための暗黙指定についての説明は、AFSSERVER および AFSCONF 環境変数の設定 を参照してください。

AFS インストールの手引き でのキャッシュ・マネージャーの構成では、 AFS 初期化スクリプトの afsd コマンドへの -rmtsys フラグなどのオプションの追加について説明しています。多くのシステム・タイプでは、スクリプト内の OPTIONS 変数の定義行にフラグをリストするのが最も簡単な方法です。リモート実行プログラム・デーモンは多くのリソースを消費しないので、マシンの NFS クライアントのすべてのユーザーが AFS コマンドを発行するのではない場合でも、各変換プログラム・マシンに afsd コマンドを追加するのが最も単純です。

オプションの変換プログラム機能の制御

AFS クライアント・マシンを変換プログラム・マシンとして構成すると、これはデフォルトで AFS ファイル・スペースを NFS クライアントにエクスポートします。変換プログラム機能を使用不可または再度使用可能にするには、 fs exportafs コマンドの -start 引き数を使用します。コマンドのその他の引き数を使用すると、変換プログラムの他の動作を制御することができます。

NFS/AFS 変換プログラム・マシンを構成するには

以下の説明では、ユーザーが AFS コマンドを発行できるよう変換プログラムを構成する方法を示します。この機能を使用可能にしたくない場合には、 6 のステップを省略します。

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. NFS サーバーがまだない場合には、 NFS/AFS 変換プログラム・マシンを NFS サーバーとして構成します。ユーザーの NFS 提供者が出す指示に従います。 NFS サーバー・デーモン (nfsd など) の数は、潜在的な NFS クライアントの数により異なります。
  3. AFS クライアントがまだない場合には、 NFS/AFS 変換プログラムを AFS クライアントとして構成します。予測しうる最上のパフォーマンスを得るため、変換プログラム・マシンにおける /usr/vice/etc/CellServDB および /usr/vice/etc/ThisCell ファイルのローカル・コピーは、セル内の他のクライアント・マシンと同じにする必要があります。
  4. リモート NFS クライアントにより、マシンのディレクトリーの取り付けを制御するファイルを変更します。
  5. マシンの AFS 初期設定ファイルを編集して、 afsd プログラムを実行した後に標準 UNIX exportfs コマンドを呼び出すようにします。システム・タイプによっては、 4 のステップで行った変更だけで /afs ディレクトリー経由で AFS ファイル・スペースをエクスポートすることができない場合があります。これは、マシンの初期設定の際、afsd プログラムが実行される前に構成の変更が行われるためです。 afsd プログラムが実行されて初めて /afs ディレクトリーが AFS ファイル・スペース全体のマウント・ポイントになります。実行する前は、他のディレクトリーと同様にローカル・ディレクトリーです。
  6. AFS 初期設定ファイルの afsd コマンドを変更して、 -rmtsys フラグを組み込みます。

    IRIX 以外のシステム・タイプの場合、 AFS インストールの手引き のキャッシュ・マネージャーの構成に -rmtsys フラグの追加方法が説明されています。たとえば、スクリプト内の OPTIONS 変数の値の定義行にこれを追加するなどの方法があります。

    IRIX システムでは、afsxnfs 構成変数を活動化すると、 AFS 初期化スクリプトは自動的に -rmtsys フラグを追加します。 AFS インストールの手引き のカーネルへの AFS 拡張の組み込みについての説明を参照してください。変数が活動化されていなければ、以下のコマンドを発行します。

       
       # /etc/chkconfig  -f  afsxnfs  on
    
  7. (オプション) このマシンに期待できる NFS クライアントの数によって、マシンの初期設定ファイルの afsd コマンドに、バックグラウンド・デーモン数を設定する -daemons 引き数などの他の引き数を追加してもかまいません。『クライアント・マシンとキャッシュ・マネージャーの管理』および『 AFS Administration Reference』の afsd 解説ページを参照してください。
  8. マシンをリブートする。多くのシステム・タイプでは、適切なコマンドは shutdown です。ユーザーのオペレーティング・システム管理者の手引きを調べてください。

       # shutdown appropriate_options
    

変換プログラム機能を使用不可/使用可能にする、またはオプション機能を設定する

  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. fs exportafs コマンドを発行します。

       # fs exportafs nfs [-start {on | off}} ]  [-convert {on | off}]
                          [-uidcheck {on | off}]   [-submounts {on | off}]
    

    -start
    off の場合変換プログラム機能を使用不可に、 on にすると再度使用可能にします。この引き数を省略すると、このコマンドにより設定されたすべてのパラメーターの現在の設定が表示されます。

    -convert
    NFS にクライアントにエクスポートされる AFS ファイルまたはディレクトリーの 2 番目と 3 番目 (グループその他) のセットの UNIX モード・ビットの設定を制御します。 on の場合、所有者 モード・ビットに一致するよう設定されます。 off の場合、ビットは変更されません。この引き数が省略された場合、デフォルト値は on です。

    -uidcheck
    knfs コマンドの発行によって、 AFS UID に一致しない -id 引き数の値を指定できるかどうかを制御します。
    • on の場合、-id 引き数の値は発行者のローカル UID に一致する必要があります。
    • off の場合、knfs コマンドの発行者は -id 引き数を使用して、 NFS クライアント・マシン上で異なるローカル UID (ローカル・スーパーユーザー root など) を持つユーザーにトークンを割り当てることができます。

    この引き数が省略されると、デフォルト値は off です。

    -submounts
    変換プログラムが、最上位の /afs ディレクトリー以外に AFS ファイル・スペース内のディレクトリーの NFS マウントをサービスするかを制御します。 on の場合、サブマウントが許可されます。 off の場合、/afs ディレクトリーの取り付けのみが許可されます。この引き数が省略されると、デフォルト値は off です。

NFS クライアント・マシンの構成

以下の要件を満たす NFS クライアント・マシンはいずれも NFS/AFS 変換プログラム経由で AFS 内のファイルにアクセスできます。これを AFS クライアント・マシンとして構成する必要はありません。

ユーザーが AFS コマンドを発行できるようにするには、 NFS クライアント・マシンが、サポートされるシステム・タイプ (AFS バイナリーが使用可能なシステム・タイプ) であり、 AFS コマンド・バイナリーにアクセス可能であることが必要です。AFS Release Notes には、リリースごとのサポートされるシステム・タイプがリストされています。

また、AFSSERVER および AFSCONF 環境変数の設定 の説明に従い、 AFSSERVER および AFSCONF 環境変数も定義しなければなりません。

NFS クライアント・マシンを構成して、AFS にアクセスするには

注:以下の指示に従い、NFS ユーザーが AFS コマンドを発行できるようにします。この機能を使用可能にしたくない場合には、 5 および 6 のステップを省略します。
  1. まだの場合は、su コマンドを発行し、マシン上でローカル・スーパーユーザー root になります。

       % su root
       Password: root_password
    
  2. NFS クライアント・マシンがまだない場合には、そのマシンを NFS クライアント・マシンとして構成する。 NFS ベンダーの提供する指示に従います。 NFS クライアント (biod) デーモンの数は、このマシンで予想される負荷に適していなければなりません。通常の推奨される数は 4 つです。
  3. /afs というディレクトリーがまだない場合は、そのディレクトリーをマシンに作成し、変換プログラム・マシンの /afs ディレクトリーのマウント・ポイントとして使用します。別の名前を付けることもできますが、このセクションの概要で説明したように制限があります。

       # mkdir /afs
    
  4. マシンのファイル・システム登録ファイル(/etc/fstab または同等のファイル) を変更して、変換プログラム・マシンの /afs ディレクトリーを取り付けるコマンドを組み込みます。mount コマンドの正しい構文を確認するには、オペレーティング・システムの mount(5) の解説ページを参照してください。以下の例には、多くのシステム・タイプで使用可能なオプションが組み込まれています。

       mount -o hard,intr,timeo=300  translator_machine:/afs /afs
    

    ここで、

    hard
    NFS サーバー (変換プログラム・マシン) が応答するまで、 NFS クライアントは NFS 要求を再試行しなければならないことを示します。変換プログラムを使用する場合、ファイル操作は AFS キャッシュ・マネージャーを経由するため、 NFS 単独より時間がかかります。soft 取り付けでは、変換プログラムからの遅延応答は、要求が打ち切られる原因になります。多くの NFS バージョンでは、デフォルトによって、堅固な取り付けが使用されます。ご使用のバージョンで使用していない場合は、このオプションを追加することをお勧めします。

    intr
    これによって、ユーザーはキーボード割り込みシグナル (<Ctrl-c> など) を使用し、変換プログラム・マシンが停止し、作業が不可能になったときに、取り付けを切断します。このオプションを組み込むのは、hard オプションを使用する場合だけです。なぜなら、変換プログラム・マシンが停止しても、接続は自動的に中断しないからです。

    timeo
    クライアントが要求がタイムアウトになったと判断するまで、変換プログラムが NFS クライアントの要求に応答するのに掛かる最大時間 (10 秒間隔) を設定します。堅固な取り付けでは、このオプションを 300 のような高い数字に設定すると、変換プログラムがただちに応答しないときに生成される、以下のようなエラー・メッセージの数が減少します。

       NFS server translator is not responding, still trying
    

    柔軟な取り付けでは、タイムアウトになった要求に戻される実際のエラーの数が減少します。

    translator_machine
    /afs ディレクトリーをクライアント・マシンの /afs ディレクトリーに取り付ける変換プログラム・マシンを指定します。

    注:変換プログラム・マシンの /afs ディレクトリーを /afs 以外の NFS クライアントのディレクトリーに取り付ける場合には、代替のディレクトリー名を用いて mount コマンドの 2 番目の /afs インスタンスを置き換えます。

  5. (オプション) 必要があれば、 /.AFSSERVER ファイルを作成し、すべてのマシン・ユーザーについて AFSSERVER 環境変数を設定します。詳細は、 AFSSERVER および AFSCONF 環境変数の設定 を参照してください。リモート実行プログラムとして機能する変換プログラム・マシンの完全修飾ホスト名を指定する単一行をファイルに追加します。トークンを処理するコマンドをユーザーが発行できるようにするには、これは、 4 のステップの translator_machine 名のマシンとする必要があります。
  6. (オプション) 必要があれば、 /.AFSCONF ファイルを作成して、すべてのマシン・ユーザーについて AFSCONF 環境変数を設定します。詳細は、 AFSSERVER および AFSCONF 環境変数の設定 を参照してください。 CellServDB および ThisCell ファイルが常駐するディレクトリーの名前を指定する単一行をファイルに追加します。これらのファイルの中央更新ソース (標準では /afs/cellname/common/etc) を使用する場合、ここで指定します。

ユーザー・アカウントの構成

NFS ユーザーが非認証のユーザーとして AFS にアクセスするには、要件はありません。ただし、AFS 機能をさらに活用するには、次に示す要件を満たす必要があります。

AFS コマンドを発行するためのユーザー・アカウントの構成

  1. 保護データベースと認証データベースにユーザー用の項目を作成するか、完全な AFS アカウントを作成する。 uss コマンド組によるユーザー・アカウントの作成と削除 または ユーザー・アカウントの管理のアカウントの作成の説明を参照してください。
  2. ユーザーの PATH 環境変数を変更して、 /afs/cellname/sysname/usr/afsws/bin などの AFS バイナリーのパス名を組み込む。ユーザーが、異なるシステム・タイプの NFS クライアント・マシンで作業をする場合には、特定の sysname@sys 変数に置き換えるよう考慮します。一般的に、PATH 変数は、ログイン・ファイルまたはシェル初期設定ファイル (.login または .cshrc など) で定義されます。
  3. (オプション) 必要であれば、AFSSERVER および AFSCONF 環境変数を定義します。これは、ユーザーが作業をする NFS クライアント・マシンに /.AFSSERVER および /.AFSCONF ファイルがない場合、またはユーザー固有の値でこれらの設定を上書きする場合に必要となります。

    ユーザーのログインまたはシェル初期設定ファイルに変数を定義するか、ユーザーのホーム・ディレクトリーに .AFSSERVER および .AFSCONF ファイルを作成します。

    AFSSERVER 変数の場合、リモート実行プログラムとして機能する変換プログラム・マシンの完全修飾ホスト名を指定します。 AFSCONF 変数には、 CellServDB および ThisCell ファイルが常駐するディレクトリーの名前を指定します。これらのファイルの中央更新ソース (標準では /afs/cellname/common/etc) を使用する場合、ここで指定します。

  4. 2 のステップで定義したパス名に @sys 変数が組み込まれている場合には、システム名が正しく定義されていることを確認してから AFS コマンドを発行するようユーザーに指示します。ユーザーは以下のコマンドを発行します。

       % fs sysname
    

非サポート NFS クライアント・マシンでの認証

knfs コマンドを使用すると、ユーザーは、非サポートのシステム・タイプ (AFS バイナリーを使用できないタイプ) の NFS クライアントで作業をする際に、 AFS で認証を行うことができます。これで、このようなユーザーも、ほかの AFS ユーザーと同じ範囲まで、 AFS ファイル・ツリーにアクセスすることができます。ただし、AFS コマンドを発行することはできません。これらのコマンドは、サポートされるシステム・タイプの NFS クライアント・マシンでしか発行できません。

非サポート・システムで認証を行うには、変換プログラム・マシンへの接続を確立し (telnet などの機能を使用)、 klog コマンドを使用して、次の NFS セッションで接続するすべてのセルに対するトークンを取得します。続いて knfs コマンドを発行します。これにより、NFS セッションに関連した資格認定構造にトークンを保管します。キャッシュ・マネージャーは、 NFS セッションから発生した AFS アクセス要求を実行する際、トークンを使用します。

詳しく述べると、この資格認定構造は、特定の NFS クライアント・マシン上の特定のローカル UID に関連したプロセス認証グループ (PAG) 番号により識別されます。デフォルトでは、資格認定構造に記録された NFS UID は、変換プログラム・マシン上のローカル UID に同じです。 -id 引き数を組み込んで代替の NFS UID を指定することができます。ただし、変換プログラム・マシンの管理者が fs exportafs コマンドの -uidcheck 引き数を使用して UID チェックを使用可能にした場合は除きます。この場合、-id 引き数の値は、変換プログラム・マシン上のローカル UID と同じでなくてはなりません (このため、-id 引き数を指定する意味はありません)。UID を一致するよう強制することで、他ユーザーが偶然または故意に、資格認定構造内にそのトークンを置くことができないようにします。ただしこのことは、セル管理者が NFS クライアント上のユーザーのローカル UID を変換プログラム・マシン上でのローカル UID に一致するよう設定しなくてはならないことを意味します。また、klog コマンドを発行してサポート NFS クライアントで認証を行うことが不可能となり、すべての NFS ユーザーは knfs コマンドを使用しなくてはなりません。オプションの変換プログラム機能の制御を参照してください。

knfs コマンドを発行したら、 AFS への認証アクセスを行い NFS クライアント上で作業を開始できます。作業が終了したら、変換プログラム・マシン上で再度 knfs コマンドを発行して (この場合は -unlog フラグを使用)、トークンを破棄するのが適切な方法です。変換プログラム・マシンへの接続をオープンにしておく方が簡単ですが、元の接続をクローズすると、常に新規接続を開始することができます。

NFS クライアント・マシンが、サポートされるシステム・タイプで、そのマシンで AFS コマンドを発行するのであれば、 knfs コマンドに -sysname 引き数を組み込みます。変換プログラム・マシンのリモート実行プログラム・デーモンはこの値を使用して、ユーザーが NFS クライアント・マシンで発行した AFS コマンドを実行する際、パス名の @sys 変数を置き換えます。 PATH 環境変数が AFS バイナリーのディレクトリーのパス名に @sys 変数を使用する場合 (推奨方法)、この引き数を設定することにより、リモート実行プログラム・デーモンは、変換プログラム・マシンとはシステム・タイプが異なる場合でも、 NFS クライアント・マシンに適当な AFS バイナリーにアクセスすることができます。

knfs コマンド (または NFS クライアント・マシンがサポート・システム・タイプの場合、このマシン上で klog コマンド) を発行しないと、AFS で認証はされません。非認証のアクセスについての説明は、 非認証または認証済みの AFS アクセスを使用可能にする を参照してください。

knfs コマンドを使用した認証

  1. 関係のある変換プログラム・マシンにログオンします。コンソールを使用、または telnet などのプログラムをリモートで使用します。
  2. NFS クライアントでの作業中にアクセスするすべてのセルのトークンを取得します。デフォルトでは、AFS 使用に変更されたログイン・ユーティリティーが、変換プログラム・マシンのローカル・セルのトークンを入手します。必要であれば、klog コマンドを使用して、他のセルのトークンを入手します。
  3. knfs コマンドを発行し、前のステップで取得したトークンの保管用に、変換プログラム・マシンのカーネル・メモリーに資格認定構造を作成します。変換プログラム・マシン上のローカル UID とは異なる NFS クライアントの UID に構造を関連付けるには、 -id 引き数を組み込みます。これは、変換プログラム・マシンで管理者が UID チェックを使用可能にしていない場合に可能です。オプションの変換プログラム機能の制御 を参照してください。 NFS クライアント・マシンが、サポートされるシステム・タイプで、そのマシンで AFS コマンドを発行するのであれば、-sysname 引き数を組み込んでそのシステム・タイプを指定します。

       % knfs -host <host name>  [-id <user ID (decimal)>]
                    [-sysname  <host's '@sys' value>]
    

    ここで、

    -host
    作業を行う NFS クライアント・マシンの完全修飾ホスト名を指定します。

    -id
    トークンを関連付ける NFS クライアント・マシンのローカル UID 番号を指定します (変換プログラム・マシン上のローカル UID と異なる場合)。この引き数を省略した場合、トークンは、変換プログラム・マシン上のローカル UID に一致する NFS UID に関連付けられます。いずれの場合も NFS クライアント・ソフトウェアは、 AFS アクセス要求を変換プログラム・マシンのキャッシュ・マネージャーに転送する際、 NFS UID でマークを付けます。

    -sysname
    ローカル・マシンのリモート実行プログラム・デーモンが、 NFS クライアント・マシンで発行された AFS コマンドを実行する際にパス名の @sys 変数に置き換える値を指定します。クライアント・マシンはサポートされるシステム・タイプである必要があります。

    以下のエラー・メッセージは、変換プログラム・マシンの管理者が UID チェックを使用可能にしており、変換プログラム・マシン上のローカル UID と異なる値をユーザーが指定していることを示します。

       
       knfs: Translator in 'passwd sync' mode; remote uid must be the same as local uid
    
  4. 変換プログラム・マシンへの接続をクローズし (必要な場合)、 NFS クライアント・マシンで作業をします。

knfs コマンドを使用したトークンの表示

  1. 関係のある変換プログラム・マシンにログオンします。コンソールを使用、または telnet などのプログラムをリモートで使用します。
  2. knfs コマンドに -tokens フラグを付けて発行し、変換プログラム・マシン上のローカル UID に一致する NFS UID、または -id 引き数で指定した NFS UID のいずれかに関連するトークンを表示します。

       % knfs -host <host name>  [-id <user ID (decimal)>] -tokens
    

    ここで、

    -host
    作業を行う NFS クライアント・マシンの完全修飾ホスト名を指定します。

    -id
    トークンの表示対象となる NFS クライアント・マシンのローカル UID を指定します (変換プログラム・マシン上のローカル UID と異なる場合)。この引き数を省略した場合、変換プログラム・マシン上のローカル UID に一致する NFS UID のトークンとなります。

    -tokens
    トークンを表示します。
  3. 必要であれば、変換プログラム・マシンへの接続をクローズします。

knfs コマンドによるトークンの破棄

  1. knfs コマンドの発行後に変換プログラム・マシンへの接続をクローズした場合は、再度オープンします。
  2. knfs コマンドに -unlog フラグを付けて発行します。

       % knfs -host  <host name>  [-id <user ID (decimal)>]  -unlog
    

    ここで、

    -host
    作業を行う NFS クライアント・マシンの完全修飾ホスト名を指定します。

    -id
    関連するトークンを破棄する NFS クライアント・マシンのローカル UID 番号を指定します (変換プログラム・マシン上のローカル UID とはことなる場合)。この引き数を省略した場合、変換プログラム・マシン上のローカル UID に一致する NFS UID に関連するトークンは破棄されます。

    -unlog
    トークンを破棄します。
  3. 希望する場合には、変換プログラム・マシンへの接続をクローズする。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]



(C) IBM Corporation 2000. All Rights Reserved