この章では、管理者およびオペレーターが、特権 AFS オペレーションを実行する方法について説明しています。
本章では、指示されたコマンドを使用した以下のタスクの実行方法を説明します。
system:administrators グループのメンバーを表示する | pts membership |
ユーザーを system:administrators に追加する | pts adduser |
ユーザーを system:administrators から削除する | pts removeuser |
認証データベース項目内の ADMIN フラグを表示 | kas examine |
認証データベース項目内に ADMIN フラグを設定または削除する | kas setfields |
UserList ファイルのユーザーを表示する | bos listusers |
UserList ファイルにユーザーを追加する | bos adduser |
UserList ファイルからユーザーを削除する | bos removeuser |
完全な特権を持つ AFS システム管理者は、以下の特性を持ちます。
この機能グループでは、3 つの特権の詳細と複数の特権が必要な理由を説明します。
注: | サーバーの障害により相互に認証することが不可能な場合でも、ユーザー anonymous に対して、管理権限を絶対に許可しないでください。このような権限を付与した場合、セルのマシンにアクセスできるユーザーは誰でも特権コマンドを発行できるようになってしまいます。代わりに、これを解決するには、影響するサーバー・マシンを非認証モードにして、多くのコマンドで使用できる -noauth フラグにより、相互に認証し合うのを防ぎます。詳しくは、認証と許可の要件の管理 を参照してください。 |
セルの管理者は、管理者のジョブを効果的に行うために、頻繁に全管理権限を要求します。しかし、特権の 3 つのタイプを分離すると、その特権を与えられた管理者が作業を実行するために必要な最小限の特権セットのみを許可することができます。
system:administrators 特権は、通常オペレーション中 (全サーバーが通常に実行中) 最も基本的で使用頻度の高い特権です。マシンまたはサーバーの停止によって、保護データベースが使用できない場合、このタイプの特権を必要とするコマンドの発行はできません。
ADMIN フラグ特権は、分離されています。これは、認証データベース、特に afs 項目内のサーバー暗号化かぎの情報が極めて機密性が高いためです。マシンまたはサーバーの停止によって、認証データベースが使用できない場合、このタイプの特権を必要とするコマンドの発行はできません。
特権コマンド bos および vos を発行できる権限は、データベースではなく AFS サーバー・マシンのローカル・ディスク上の /usr/afs/etc/UserList ファイルに記録されているので、ネットワークまたはサーバーに重大な問題が生じた場合、管理者は、サーバー・マシンにログオンして、問題を解決する間これらのコマンドを使用することができます。
AFS 管理権限の第 1 タイプの特権は、メンバーシップです。保護データベースの system:administrators グループのメンバーは、以下の特権を持ちます。
ACL アクセス権を変更して、特定のファイル・サーバー・マシン上のファイル・サーバーが、 system:administrators グループのメンバーに、保管するボリューム内のデータに対する権限を暗黙的に付与できます。bos create コマンドを使用して、マシン上に fs プロセスを作成および開始する場合、-implicit 引き数を fileserver 初期化コマンドに組み込みます。構文の詳細については、AFS Administration Reference のfileserver の参照ページを参照してください。追加アクセス権の付与または l アクセス権の削除が可能です。しかし、ファイル・サーバーは、いつでも暗黙的に a アクセス権をグループのメンバーに付与します。たとえ、-implicit 引き数の値を none に設定した場合でも同様です。
% pts membership system:administrators
ここで、m は、membership の最も短い受け入れ可能な省略形です。
% pts membership system:administrators
% pts adduser -user <user name>+ -group system:administrators
ここで、
% pts membership system:administrators
% pts removeuser -user <user name>+ -group system:administrators
ここで、
管理データベース項目に ADMIN フラグを持つ管理者は、全 kas コマンドを発行することができ、これによって認証データベースを管理することができます。
認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、ユーザーのローカル (UFS) ID を認証します。この ID は AFS 特権管理者に対応しません。-admin_username 引き数 (ここでは、-admin に省略) を組み込み、認証データベース項目の ADMIN フラグを持つユーザー ID を指定します。
% kas examine <name of user> \ -admin <admin principal to use for authentication> Administrator's (admin_user) password: admin_password
ここで、
この例では、ADMIN フラグがオンになっていると、フラグは出力の第 1 行目に表示されます。
% kas e terry -admin admin Administrator's (admin) password: admin_password User data for terry (ADMIN) key version is 0, etc...
認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に ADMIN フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。
以下のコマンドは、見やすくするために 2 行で表示されています。
% kas setfields <name of user> {ADMIN | NOADMIN} \ -admin <admin principal to use for authentication> Administrator's (admin_user) password: admin_password
ここで、
指示した組を各 AFS サーバー・マシンのローカル・ディスク上のファイル /usr/afs/etc/UserList に組み込むことにより、管理者はその組からコマンドを発行できます。
各 AFS サーバー・マシンは、そのローカル・ディスク上でファイルの個々のコピーを保守しますが、すべてのコピーを同じように保存すると便利です。特権があるマシンと特権がないマシンがあると、管理者が混乱することがあります。
所属するセルが米国版の AFS を実行し、更新サーバーを使用して、システム制御マシンの /usr/afs/etc ディレクトリーの内容を配布する場合は、システム制御マシンに保管されるUserList ファイルのコピーのみを編集します。どのマシンがシステム制御マシンであるかわからなくなった場合は、 ファイル・サーバー・マシンの 4 つの役割の節を参照してください。
所属するセルが AFS の国際版を実行する場合、またはシステム制御マシンを使用しない場合は、それぞれのサーバー・マシンに対して UserList ファイルを個別に編集する必要があります。
パフォーマンスの問題を生じる可能性のあるフォーマット・エラーが起きるのを防ぐためには、絶対に UserList ファイルを直接編集しないでください。代わりに、この機能グループで説明する bos adduser または bos removeuser コマンドを使用してください。
% bos listusers <machine name>
ここで、
% bos listusers <machine name>
% bos adduser <machine name> <user names>+
ここで、
AFS の国際版を実行する場合、またはシステム制御マシンを使用しない場合は、machine name を順番にそれぞれのサーバー・マシンの名前に置き換えて、コマンドを繰り返します。
% bos listusers <machine name>
% bos removeuser <machine name> <user names>+
ここで、
AFS の国際版を実行する場合、またはシステム制御マシンを使用しない場合は、machine name を順番にそれぞれのサーバー・マシンの名前に置き換えて、コマンドを繰り返します。