# 管理の手引き

# ユーザー・アカウントの管理

この章では、ユーザーのセル内でユーザー・アカウントを作成し、保守する方法を説明します。

ユーザー・アカウントを作成する最適なメソッドは、 uss プログラムを使用することです。このプログラムは、単一コマンドで複数のアカウントを作成できます。uss コマンド組によるユーザー・アカウントの作成と削除 を参照してください。各アカウントのコンポーネントを個別に作成したい場合は、 AFS ユーザー・アカウントの作成の説明に従ってください。

## 手順の概要

この章では、指示されたコマンドを使って以下のタスクを実行する手順について説明します。

保護データベース項目の作成 | pts createuser
認証データベース項目の作成 | kas create
ボリュームの作成 | vos create
ボリュームの取り付け | fs mkmount
ACL 上に項目を作成 | fs setacl
保護データベース項目の検査 | pts examine
ディレクトリー所有権の変更 | /etc/chown
認証の試みの失敗を制限 | kas setfields、 -attempts および -locktime 併用
認証データベース項のロック解除 | kas unlock
パスワードの存続時間の設定 | kas setfields、 -pwexpires を併用
パスワード再利用の禁止 | kas setfields、 -reuse を併用
AFS パスワードの変更 | kas setpassword
ユーザー所有のグループのリスト作成 | pts listowned
保護データベース項目の名前変更 | pts rename
認証データベース項目の削除 | kas delete
ボリュームの名前変更 | vos rename
マウント・ポイントの取り外し | fs rmmount
保護データベース項目の削除 | pts delete
ボリューム・ロケーションのリスト作成 | vos listvldb
ボリュームの取り外し | vos remove

## AFS ユーザー・アカウントのコンポーネント

AFS ファイル・システムと UNIX ファイル・システムは異なるので、完全な AFS ユーザー・アカウントは、UNIX ユーザー・アカウントと同じではありません。以下のリストでは、AFS ユーザー・アカウントのコンポーネントについて説明します。これと同じ情報がuss コマンド組によるユーザー・アカウントの作成と削除の対応する機能グループにもありますが、便利なようにここでも繰り返し説明します。

- ユーザー名 (AFS により認証されるときに使用する名前) を定義し、その名前を、AFS サーバーがユーザーを参照するときに内部的に使用する番号であるユーザーの AFS ユーザー ID (AFS UID) にマップする 保護データベース項目。また、保護データベースは、ユーザーが所属するグループも追跡します。詳細については、保護データベースの管理 を参照してください。
- 暗号キーとして使用するのに適したスクランブル形式でユーザーの AFS パスワードをレコードする、 認証データベース項目。
- ユーザーのホーム・ディレクトリー内のすべてのファイルを、ファイル・サーバー・マシンの単一パーティション上にまとめて保管するホーム・ボリューム。ボリュームには、そのサイズを制限する関連した割り当てがあります。ボリュームについての詳細は、ボリュームの管理 を参照してください。
- ユーザーのボリュームのコンテンツを AFS ファイル・スペース内で可視およびアクセス可能にし、ユーザーのホーム・ディレクトリーの役割を果たすマウント・ポイント。マウント・ポイントについての詳細は、ボリュームの取り付けについて を参照してください。
- ユーザーのファイル管理を可能にする、ホーム・ディレクトリーのアクセス制御リスト (ACL) およびディレクトリーの所有権 (UNIX の ls -ld コマンドによって表示されるように)。 AFS ファイル保護についての詳細は、 アクセス制御リスト (ACL) の管理を参照してください。
- ユーザーの、キャッシュを介した AFS ファイルにログインおよびアクセスを可能にする、各クライアント・マシンのローカル・パスワード・ファイル項目 (/etc/passwd ファイルまたは同等のファイルにある)。この章の後のセクションでは、ローカル・パスワード・ファイルの項目について、さらに詳しく説明します。
- アカウントの使用をより容易にする、ほかの構成ファイル。たとえば、ユーザーのログインとログアウトをもっと容易にしたり、電子メールの受信やプリントに役立つファイルなど。

## ローカル・パスワード・ファイル項目の作成

セルの AFS のファイル・スペースへの認証済みアクセスを入手するには、ユーザーは、有効な AFS トークンを持っているだけではなく、キャッシュ・マネージャーがユーザーを提示しているマシンのローカル・パスワード・ファイル (/etc/passwd または同等のファイル) に項目を持っていなければなりません。この機能グループでは、ユーザーの AFS UID と、ローカル・パスワード・ファイルにリストされる UNIX UID を一致させることが重要である理由、およびファイルのパスワード・フィールドに指定するのに適切な値について説明します。

uss 命令を使用する理由の 1 つは、このコマンドが、ローカル・パスワード・ファイル項目をアカウント作成の一部として自動的に生成できるからです。共通送信元パスワード・ファイルの作成 を参照してください。

これと同じ情報は、uss コマンド組によるユーザー・アカウントの作成と削除の対応する機能グループにもありますが、便利なようにここでも繰り返し説明します。

### 一致する AFS と UNIX UID の割り当て

AFS ユーザー ID 番号 (AFS UID) と UNIX UID が一致する場合、ユーザー・アカウントは管理と使用が最も容易です。AFS 文書内のすべての命令は、2 つの UID が一致することを前提としています。

AFS の UID と UNIX の UID を同じにする最も基本的な理由は、 UNIX ls -l および ls -ld コマンドによって報告される所有者名が、 AFS ファイルおよびディレクトリーに対して意味を持つようにするということです。標準 UNIX 実践に従って、ファイル・サーバーは、 AFS ファイルまたはディレクトリーの所有者フィールドのユーザー名ではなく、数字、すなわち所有者の AFS UID を記録します。 ls -l コマンドを発行すると、このコマンドは、 AFS 保護データベースではなくローカル・パスワード・ファイルのマッピングに従って、 UID をユーザー名に変換します。AFS の UID と UNIX の UID が一致しない場合、 ls -l コマンドは、予期せぬ (かつ正しくない) 所有者を報告します。ローカル・パスワード・ファイルが同じ UNIX UID を異なる名前にマップする場合は、異なるクライアント・マシン上では、出力が異なることがあります。

以下のようなさまざまなタイプのユーザーのアカウントを作成しているときには、指示された機能グループでの勧めに従って、AFS および UNIX UID を一致させてください。

- UNIX UID をすでに持っているユーザーに対して AFS アカウントを作成する場合は、機能グループ UNIX と AFS UID を一致させる を参照する。
- セル内のユーザーが既存の UNIX アカウントを持っているけれども、 AFS アカウントを作成する対象のユーザーがまだ持っていない場合は、保護サーバーに AFS UID を自動的に割り当てさせるのが最良の方法である。 AFS UID と既存の UNIX UID が重複するのを避けるには、 AFS UID および GID カウンターの表示および設定 の手順に従って、保護データベースの `max user id` カウンターを、最も大きい UNIX UID よりも高く設定します。
- 既存の UNIX アカウントを持つユーザーがいない場合は、保護サーバーが AFS UID を、そのデフォルトかまたは `max user id` カウンターに設定した値から、自動的に割り振れるようにする。

### ローカル・パスワード・ファイルにパスワードを指定

AFS 仕様に変更されたログイン・ユーティリティーのインストールと構成を行う場合は、 AFS による認証が最も簡単です。AFS は、ユーザーをローカル・ファイル・システムに記録することと、 AFS トークンを入手することを 1 つのステップで行います。この場合、ローカル・パスワード・ファイルは、もはや、ほとんどの状況下で、ユーザーのログインする能力を制御しません。なぜなら、 AFS 仕様に変更されたログイン・ユーティリティーは、ユーザーが正しい AFS パスワードを提示したかどうかについて、ローカル・パスワード・ファイルを調べないからです。しかし、それでも、パスワード・ファイル項目内のパスワード・フィールド (通常、 2 番目のフィールド) を以下の方法で使用して、ログインと認証を制御できます。

- アスタリスク ( * ) をフィールド内に入れて、ローカル・ログインおよび AFS による認証の両方を防止する。これは、主に、特定のユーザーがマシンにログインするのを阻止したいときなど、緊急の場合に有用です。
- 標準の 13 文字以外の任意の長さの文字列をフィールドに入れて、ユーザーが正しい AFS パスワードを提示しなかった場合に、ローカル・ファイル・システムへのログインを阻止する。これは、ローカル AFS アカウントを持っている人だけに、マシンへのログインを許可したい場合に適切です。これを行うには、単一の X またはほかの文字が最も容易に認識できる方法です。
- 不正な AFS パスワードを指定した後でも、ユーザーがローカル・ファイル・システムにログインできるようにするには、標準 UNIX パスワード設定コマンド (passwd またはこれに相当するもの) を発行して、標準 UNIX 暗号化パスワードをフィールドに記録します。

AFS 仕様に変更したログイン・ユーティリティーを使用しない場合、標準の UNIX パスワードを、ユーザーが使用するすべてのクライアント・マシンのローカル・パスワード・ファイルに入れなければなりません。ユーザーは、ローカル・ファイル・システムだけにログインし、次に、 klog コマンドを発行して AFS と認証しなければなりません。ローカル・パスワード・ファイルと認証・データベースのパスワードが同じであれば、最も単純ですが、これは必須ではありません。

## 既存の UNIX アカウントの変換

この機能グループでは、ユーザーのセルが既存の UNIX アカウントを持っていて、ユーザーがそのアカウントを AFS アカウントに変換したい場合に検討しなければならない 3 つの主要な問題について説明します。

### UNIX と AFS UID を一致させる

前述のように、AFS ユーザーは、自分が承認済みユーザーとして AFS ファイル・スペースにアクセスするすべてのクライアント・マシン上のローカル・パスワード・ファイル内に項目を持っていなければなりません。UNIX UID と AFS UID が一致する場合は、管理と使用が両方とも、より単純になります。既存の UNIX アカウントを変換するとき、以下の 2 つの代替があります。

- AFS UID を既存の UNIX UID に一致させる。この場合、ユーザーは、AFS アカウントを作成するときに、pts createuser コマンドに -id 引き数を組み込んで、AFS UID を自分で割り当てる必要があります。

  ユーザーの UNIX UIDを保存しているので、ローカル・パスワード・ファイル項目内の UID を更新する必要がない。しかし、AFS仕様に変更されたログイン・ユーティリティーを使用している場合は、項目のパスワード・フィールドの変更が必要なことがあります。パスワード・フィールドの値が、 AFS 仕様に変更されたログイン・ユーティリティーによるログインにどのように影響するかについての説明は、ローカル・パスワード・ファイルにパスワードを指定を参照してください。

  現在または将来、既存の UNIX UID アカウントを持っていない新規ユーザーに対して AFS アカウントを作成する必要がある場合は、新規 AFS UID が既存の UNIX UID のどれとも競合しないことを確認する必要がある。最も簡単な方法は、保護データベースの `max user id` カウンターを、既存の最大 UNIX UID よりも高い値に設定することです。AFS UID および GID カウンターの表示および設定 を参照してください。

- 既存の UNIX UID を変更して、保護サーバーが自動的に割り当てる新規 AFS UID に一致させる。

  AFS アカウントを作成するとき、保護サーバーに AFS UID を自動的に割り振らせることができる。それから、すべてのクライアント・マシンで、ローカル・パスワード・ファイルのユーザー項目を変更して、新規 UID を組み込む必要があります。

  UNIX UID を変更することには、1 つの欠点がある。つまり、 AFS ユーザーになる前にユーザーがローカル・ファイル・システム内で所有していたファイルとディレクトリーの所有者フィールドに、前の UID が含まれたままであるということです。 ls -l および ls -ld コマンドによって、正しい所有者を表示したい場合、ファイルをローカル・ファイル・システムに残すか AFS に移動するかにかかわらず、chown コマンドを使用して、値をユーザーの新規 UID に変更します。ローカル・ファイルを AFS に移動する を参照してください。

### パスワード・フィールドを適切に設定する

既存の UNIX アカウントは、すでに、パスワード・フィールド内の (スクランブル) パスワードと共に、項目をローカル・パスワード・ファイル内に持っています。ログイン・ユーティリティーのタイプによっては、以下のようにパスワード・フィールド内の値の変更が必要になる場合があります。

- ログイン・ユーティリティーが AFS で使用するように変更されていない場合は、実際のパスワードがローカル・パスワード・ファイル項目に (スクランブル形式で) 表示される必要がある。
- ログイン・ユーティリティーが AFS で使用するように変更されている場合は、 ローカル・パスワード・ファイルにパスワードを指定 で説明している値の中からいずれか 1 つを選択する。

### ローカル・ファイルを AFS に移動する

既存の UNIX アカウントは、おそらく、マシンのローカル・ファイル・システムに保管されたファイルとディレクトリーを所有しており、これらは、新しいホーム・ボリュームに転送すると意味をなします。最も容易なメソッドは、それらを、AFS クライアント・マシンのローカル・ディスク上に移動することであり、その後、UNIX mv コマンドを使用して、それらをユーザーの新規 AFS ホーム・ディレクトリーに転送します。

ファイルとディレクトリーを AFS に移動する際、それらのモード・ビットの意味が変更することに留意してください。 AFS では、モード・ビットの 2 番目と 3 番目のセット (グループおよびその他) を無視し、最初のセット (所有者ビット) は直接使用しません。ただし、ACL 上の項目と一緒の場合にのみ使用します (詳細は、AFS が UNIX モード・ビットを解釈する方法 を参照してください)。 ACL がファイルまたはディレクトリーを少なくともモード・ビットと同じくらい安全に保護することを確認してください。

ユーザーの UNIX UID を変更して、新規 AFS UID に一致させることを選択した場合は、 UNIX ファイルとディレクトリーの所有権も変更しなければなりません。AFS に常駐している system:administrators グループのメンバーだけが、 chown コマンドをファイルおよびディレクトリー上で発行することができます。

## AFS ユーザー・アカウントの作成

ユーザー・アカウントの作成には 2 つのメソッドがあります。最適なメソッドは、uss コマンドを使用するメソッドで、単一コマンドで複数のアカウントを作成できます。このメソッドでは、テンプレートを使用して、各ユーザーに対して同一のアカウント・コンポーネント (割り当て量など) の標準値を定義しますが、可変コンポーネント (ユーザー名など) に対しては異なる値を提供します。 uss コマンド組によるユーザー・アカウントの作成と削除 を参照してください。

2 番目のメソッドでは、個別のコマンドを発行してアカウントごとにコンポーネントを作成します。 1 度に 1 つのアカウントを作成する場合に最適な方法です。一部のコマンドは関連するコンポーネントの 1 つのインスタンスしか作成できないからです。各コンポーネントの機能を確認するには、AFS ユーザー・アカウントのコンポーネント を参照してください。

以下の命令を使用して、機能のレベルが異なる 3 つのタイプのユーザー・アカウントのいずれかを作成します。タイプについては、AFS ユーザー・アカウントの作成 を参照してください。

- 認証専用アカウントを作成するには、 1 から 4 のステップまで、および 14 のステップを実行します。このタイプのアカウントは、認証データベースの項目と保護データベースの項目だけから構成されています。
- 基本アカウントを作成するには、 1 から 8 のステップ、および 11 から 14 のステップを実行します。認証データベースと保護データベースのほかに、このタイプのアカウントには、所有者および ACL セットによって適切にホーム・ディレクトリーに取り付けられたボリュームを適切に組み込みます。
- フルアカウントを作成するには、以下の指示のすべてのステップを実行します。このタイプのアカウントは、ログイン、印刷、およびメール送信などの基本機能に対する構成ファイルを組み込み、それをさらに便利かつ有用にします。いくつかの有用なタイプの構成ファイルについての説明は、 新規の AFS アカウントでの標準ファイルの作成 を参照してください。

### 個別のコマンドを使用して単一ユーザー・アカウントを作成する

1. 以下の各アカウント・コンポーネントに割り当てる値について決めます。認証のみのアカウントを作成する場合は、ユーザー名、AFS UID および初期パスワードだけを選出します。
   - ユーザー名。規則では、ユーザー・アカウントが所有する多数のコンポーネントの名前は、この名前に組み込まれます。制限と推奨されている命名体系については、 ユーザー名の選択とほかのアカウント・コンポーネントの命名 を参照してください。
   - AFS UID (特定のAFS UID を割り当てたい場合)。UNIX アカウントをすでに持っているユーザーに対して AFS アカウントを作成する場合を除き、保護サーバーに代わりに 1つを割り当てることを一般的にはお勧めします。UNIX UID をすでに持っているユーザーの場合、 AFS UID を既存の UNIX UID に一致させるように設定するとき、ユーザーのファイルを AFS に移行すると、最も簡単です。既存の UNIX アカウントの変換 を参照してください。
   - 初期パスワード。最初のログイン時に、AFS 使用者の手引き で説明するパスワード変更命令を使用して、このパスワードを変更するようにユーザーに通知します。
   - ユーザーのホーム・ボリュームの現行の名前。標準名は、user.username (たとえば、user.smith) です。
   - ボリュームのサイト (ファイル・サーバー・マシン上のディスク・パーティション)。いくつかのセルは、ユーザー・ボリュームに対してのみ特定のマシンまたはパーティションを指定します。または、ほかの基準を満たす最も空きの多いパーティションにボリュームを配置するのが賢明である場合もあります。パーティションのサイズおよび使用可能なスペースを表示するには、 vos partinfo コマンドを使用します。このコマンドの詳細は、 読み取り / 書き込みボリュームの作成 で説明しています。
   - ユーザーのホーム・ディレクトリーの名前(ホーム・ボリュームのマウント・ポイント)。標準ロケーションは、/afs/cellname/usr などのセル・ディレクトリーのすぐ下にあるディレクトリー (またはディレクトリーの組の 1 つ) です。単一の usr ディレクトリーに大量のユーザー・ホーム・ディレクトリーを配置した結果、ディレクトリーの検索が遅くなるのを避ける方法については、G 命令によるユーザー・ホーム・ディレクトリーの均等配布を参照してください。
   - ボリュームのスペース割り当て量。vos create コマンドに -maxquota 引き数を組み込みます。または、デフォルトの 5000 KB の割り当て量を受け入れます。
   - ホーム・ディレクトリー上の ACL。デフォルトでは、新規に作成されたすべてのボリュームにある ACL は、7 つのアクセス権すべてを system:administrators グループに許可します。ボリュームを作成した後、必要な場合は fs setacl コマンドを使用して項目を削除し、ユーザーに 7 つのアクセス権をすべて許可します。
2. 以下の特権のすべてを持つ AFS ID として認証します。標準構成では、admin ユーザー・アカウントがこれらすべての特権を持っています。または、またはユーザーが個人的な管理アカウントを持っている可能性があります (セルのセキュリティーを向上させるには、管理手順を実行するときだけ、特別な特権アカウントを作成して使用するとよいでしょう。詳細は、 管理権限の概要 を参照してください。) 必要な場合、認証するために klog コマンドを発行します。

          % klog admin_user
          Password: admin_password

   次のリストは、必要な特権を指定し、それらの特権を所有しているかどうかを検査する方法を示しています。

   - system:administrators グループのメンバーシップ。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

            % pts membership system:administrators

   - /usr/afs/etc/UserList ファイルに組み込まれていること。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、 UserList ファイルのユーザーの表示で詳しく説明しています。

            % bos listusers <machine name>

   - 認証データベース項目の `ADMIN` フラグ。ただし、認証サーバーは独自の認証を実行するので、4 のステップでは、 kas コマンド行自体に管理 ID を指定します。
   - ボリュームを取り付けるディレクトリーの ACL 上に i (挿入) および a (管理) アクセス権があることを検証します。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

            % fs listacl [<dir/file path>]

     system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

   - ローカル・スーパーユーザー root のパスワードがわかっていること。
3. pts createuser コマンドを発行して、保護データベースに項目を作成します。AFS UID の設定については、一致する AFS と UNIX UID の割り当て を参照してください。既存の UNIX アカウントを AFS アカウントに変換する場合は、既存の UNIX アカウントの変換 も参照してください。

          % pts createuser <user name> [<user id>]

   ここで、

   cu
     は、createuser の受け入れ可能な別名です (createu は受け入れ可能な最も短い省略形です)。

   user name
     ユーザーのユーザー名 (ログイン時に入力する文字列) を指定します。ユーザー名は、8 文字以下の英小文字に限定することをお勧めします。多くのアプリケーション・プログラムが同様の制限を課しているからです。AFS サーバー自体は、最大 63 文字までの名前を受け入れます。また、以下の文字の使用を避けます。コロン (:)、セミコロン (;)、コンマ (,)、単価記号 (@)、スペース、改行、およびピリオド (.)。これは、一般に特殊な管理用の名前に使用します。

   user id
     オプションで、ユーザーが AFS UID に一致させる必要のある UNIX UID をすでに所有している場合のみ選択できます。この引き数が提供されない場合、保護サーバーが AFS UID および GID カウンターの表示および設定 で説明するカウンターに基づいて自動的に割り当てます。指定される ID が 1 以下の場合またはすでに使用されていると、エラーが発生します。
4. kas create コマンドを発行して、認証データベースに項目を作成します。ユーザーの一時的な初期パスワードが画面にエコーされて表示されるのを防ぐには、 -initial_password 引き数を省略します。代わりに、以下の構文仕様に示すように、引き数を省略する際にプロンプトが表示されたとき、パスワードを入力します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas create <name of user> \
                       -admin  <admin principal to use for authentication>
          Administrator's (admin_user) password: admin_password
          initial_password: initial_password
          Verifying, please re-enter initial_password: initial_password

   ここで、

   cr
     は、create の受け入れ可能な省略形です。

   name of user
     3 のステップで指定したのと同じユーザー名を指定します。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

   initial_password
     一部のアプリケーションで強制される長さ制限に対応するように、 8 文字以下の文字列を与えます。初期パスワードの選択で、考えられる候補には、ユーザー名、社会保障番号などの個人識別番号からの数字の文字列、または changeme などの標準文字列が含まれます。ユーザーに指示して、AFS 使用者の手引き に説明されるように kpasswd コマンドを使用して、できるだけ早くこの文字列を本当の秘密のパスワードに変更させます。
5. vos create コマンドを発行し、ユーザーのボリュームを作成します。

          % vos create <machine name> <partition name> <volume name>  \
                       [-maxquota <initial quota (KB)>]

   ここで、

   cr
     create の受け入れ可能な最も短い省略形です。

   machine name
     新規ボリュームを配置するファイル・サーバー・マシンを指定します。

   partition name
     新規ボリュームを配置するパーティションを指定します。

   volume name
     新規ボリュームに名前を付けます。名前には、最大 22 文字までを組み込むことができます。規則では、ユーザー・ボリューム名は user.username という形式になります。この username は、3 のステップで割り当てられた名前です。

   -maxquota
     ボリュームの割り当て量を K バイト・ブロックの数として設定します。この引き数を省略すると、デフォルトで 5000 K バイト・ブロックに設定されます。
6. fs mkmount コマンドを発行して、ボリュームをファイル・スペースに取り付け、ユーザーのホーム・ディレクトリーを作成します。

          % fs mkmount <directory> <volume name>

   ここで、

   mk
     は、mkmount の受け入れ可能な省略形です。

   directory
     作成するマウント・ポイントを指定します。既存のディレクトリーと同じ名前のディレクトリーを作成しないでください。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。規則では、ユーザー・ホーム・ディレクトリーは、 /afs/.cellname/usr に似た名前のディレクトリーの下に作成され、ホーム・ディレクトリー名は、 3 のステップで割り当てたユーザー名と同じになります。

     マウント・ポイントに読み取り / 書き込みパスを指定して、読み取り専用ボリューム内に新しいマウント・ポイントを作成しようとしたときに障害が発生するのを防ぎます。規則では、パス名の第 2 レベルのセル名の前にピリオドを付けて、読み取り / 書き込みパスを指定します (たとえば、 /afs/.example.com)。ファイル・スペースの読み取り / 書き込みパス、および読み取り専用パスの概念についての詳細は、 マウント・ポイント横断の規則 を参照してください。

   volume name
     5 のステップで作成したボリュームの名前です。
7. (オプション)。fs setvol コマンドを、-offlinemsg 引き数を併用して発行し、ボリューム・ヘッダー内のボリュームに関する補助情報を記録します。たとえば、ボリュームの所有者またはファイル・スペース内の取り付け場所を記録することができます。この情報を表示するには、fs examine コマンドを使用します。

          % fs setvol <dir/file path> -offlinemsg <offline message>

   ここで、

   sv
     は、setvol の受け入れ可能な別名です (setv は受け入れ可能な最も短い省略形です)。

   dir/file path
     メッセージに関連するボリュームのマウント・ポイントを指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。

     マウント・ポイントへの読み取り / 書き込みパスを指定し、読み取りボリュームの変更時に生じる障害を回避してください。通例、読み取り / 書き込みパスを指定するには、パス名の第 2 レベルのセル名の前にピリオドを挿入します (たとえば /afs/.example.com)。ファイル・スペースにおける読み取り / 書き込みおよび読み取り専用パスの概念の詳細は、マウント・ポイント横断の規則 を参照してください。

   -offlinemsg
     ボリューム・ヘッダーに記録する補助情報を、最大 128 文字まで指定します。
8. fs setacl コマンドを発行して、新しいホーム・ディレクトリーに ACL を設定します。少なくとも、示されているように、ユーザーにすべてのアクセス権を許可する項目を作成します。

   また、コマンドを使用して、 vos create コマンドが新規ボリュームのルート・ディレクトリーの ACL に自動的に配置する項目を、編集または削除することができます。この項目は、system:administrators グループにすべてのアクセス権を許可します。項目を削除する場合は、デフォルトにより、グループのメンバーは、すべての ACL において暗黙的な a (管理) および l (ルックアップ) アクセス権を持ち、必要に応じて、ユーザーに他のアクセス権を与えることができることに留意してください。

   fs setacl コマンドについての詳細な説明は、ACL 項目の設定 を参照してください。

          % fs setacl <directory> -acl <user name> all \
                      [system:administrators desired_permissions]

9. (オプション)。新規ホーム・ディレクトリーに構成ファイルおよびサブディレクトリーを作成します。組み込み可能なものには、.login および .logout ファイル、.cshrc などのシェル初期設定ファイル、印刷やメール送信を助けるファイルなどがあります。

   既存の UNIX アカウントを AFS アカウントに変換する場合、ユーザーの新規ホーム・ディレクトリーに一部のファイルやディレクトリーを移動できます。既存の UNIX アカウントの変換 を参照してください。

10. (オプション)。新規 .login ファイルまたはシェル初期設定ファイルで、ユーザーの $PATH 環境変数を定義し、AFS バイナリーが保持されているディレクトリー (たとえば、/usr/afsws/bin および /usr/afsws/etc) を組み込みます。
11. 12 のステップおよび 14 のステップでは、ユーザーの AFS UID を認識している必要があります。3 のステップで、保護サーバーが AFS UID を割り当てていると、おそらくそれを認識していないかもしれません。必要に応じて、pts examine コマンドを発行して、AFS UID を表示します。

           % pts examine <user or group name or id>

    ここで、

    e
      examine の最も短い受け入れ可能な省略形です。

    user or group name or id
      3 のステップで割り当てたユーザー名です。

    出力の最初の行には、ユーザー名および AFS UID が表示されます。詳細および出力の例については、保護データベースからの情報の表示 を参照してください。

12. ユーザーを、ホーム・ディレクトリーおよび、9 のステップで作成または移動した任意のファイルおよびサブディレクトリーの所有者に指定します。ユーザー名ではなく、11 のステップで説明した AFS UID で所有者を指定します。新しいアカウントの場合、ローカル・マシンのパスワード・ファイル (/etc/passwd またはそれに相当するもの) にはまだそのユーザーの項目がないため、 AFS UID で指定する必要があります。既存の UNIX アカウントを変換する場合、項目はあっても、その中の UID が正しくない可能性があります。そのような場合にユーザー名を指定すると、対応する (間違っている可能性のある) UID が所有者として記録されます。

    一部のオペレーティング・システムでは、ローカルのスーパーユーザーroot だけに、chown コマンドの発行を許可します。必要な場合は、chown コマンドを発行する前に、su コマンドを発行します。

           % chown new_owner_ID  directory

    ここで、

    new_owner_ID
      ユーザーの AFS UID です。11 のステップで確認済みです。

    directory
      6 のステップで作成したホーム・ディレクトリーと 9 のステップで作成した各サブディレクトリーまたはファイルです。
13. 新規のユーザー・ホーム・ディレクトリーが複写されたボリューム内に常駐している場合は、 読み取り / 書き込みボリュームの複写 (読み取り専用ボリュームの作成) で説明しているように、 vos release コマンドを使用してそのボリュームを解放します。

           % vos release <volume name or ID>

    注: | このステップは、ホーム・ディレクトリーの親ディレクトリーが、複写されたボリュームのマウント・ポイントではなくても、必要な場合があります (また、そのようなケースでは、このステップを実行した方が監視が容易です)。たとえば、Example Corporation が、 /afs/example.com/usr ディレクトリー内のユーザー・ボリュームにマウント・ポイントを置くとしましょう。このディレクトリーは、マウント・ポイントというよりは通常のディレクトリーですので、 /afs/example.com ディレクトリーに取り付けられた root.cell ボリューム内に常駐します。このボリュームは複写ですので、新規のマウント・ポイントの作成によって変更されたら、管理者は、 vos release コマンドを発行する必要があります。

14. ユーザーがログインできる各マシンのローカル・パスワード・ファイル (/etc/passwd またはそれに相当するもの) にある新規ユーザー用の項目を作成または変更します。 UNIX UID を 11 のステップで確認した AFS UID と同じにし、パスワード・フィールドを適切に埋めます (ローカル・パスワード・ファイルにパスワードを指定 を参照してください)。

    パッケージ・ユーティリティーを使用して、パスワード・ファイルの共通バージョンをすべてのクライアント・マシンに配布する場合、共通バージョンだけを変更する必要があります。パッケージ・プログラムを使用したクライアント・マシンの構成を参照してください。

## パスワードおよび認証セキュリティーの改善

AFS では、非認証アクセスに対してセルのファイル・スペースを保護するための助けとなる、いくつかのオプション機能を提供します。以下のリストでは、それらの機能について要約します。

- ログイン試行の連続失敗数を制限する。

  認証されていないユーザーがファイル・スペースにアクセスする最も一般的な方法の 1つは、認証済みユーザーのパスワードを憶測することです。このハッキング・メソッドは、ハッカーが複数のログイン・プロセスを並列して使用できる場合、または RPC インターフェースを直接使用できる場合に、最も危険です。

  このようなタイプの攻撃に対抗して保護するために、kas setfields コマンドに -attempts を使用して、ユーザーが AFS 仕様に変更されたログイン・ユーティリティーまたは klog コマンドのどちらを使用しているかにかかわらず、誤ったパスワードを連続して入力できる回数を制限することができます。この制限を超えると、認証サーバーは、kas setfields コマンドの -locktime 引き数に定義された期間、認証データベース項目をロックします(認証試行を不許可にします)。必要な場合、システム管理者は、kas unlock コマンドを使用して、ロックアウト時間が完全に経過する前にロックを解除することができます。

  特定の状況では、失敗した認証試行回数の制限に使用したメカニズムは、失敗した試行数が -attempts 引き数によって設定した制限の範囲内であっても、ロックアウトを発生させる場合があります。klog および AFS 変更済みログイン・ユーティリティーなどの認証プログラムは、通常、認証試行に対して、認証サーバーをランダムに選択します。そして、認証に失敗した場合は、次の試行のために別の認証サーバーを選択します。さまざまなデータベース・サーバー・マシン上で実行される認証データベースは、ユーザーが正しいパスワードの提供に失敗した回数を相互に通知しません。代わりに、各認証サーバーは、補助データベース・ファイル kaserverauxdb (デフォルトでは /usr/afs/local ディレクトリーにある) の独自の個別コピーを保守します。このコピーには、各ユーザー・アカウントごとの連続失敗回数および最近の失敗の時刻が記録されています。この実装は、平均的には各認証サーバーは、失敗試行の合計数の少数部分に関してしかわからないことを意味します。-attempts 引き数で設定された試行回数以上の許可しないようにする唯一の方法は、各認証サーバーは合計の小数部の一部だけを許可するという方法です。具体的に説明すると、失敗試行の限界回数が f で、認証サーバーの数が S であるとすると、各認証サーバーが許可できる試行回数は、f を S で割った数にしかなりません (認証サーバーのための Ubik 同期サイトでは、剰余数 fmodS が追跡されます)。

  通常、このメカニズムが許可される試行数を構成済みの限界 (f) 以下に削減することはありません。1 つの認証サーバーが試行を拒否しても、クライアントはサーバーの別のインスタンスにアクセスして、認証が正常に行われるまで、またはサーバーの全インスタンスにアクセスが完了するまで継続します。ただし、1 つ以上の認証サーバー・プロセスが使用不可の場合、事実上、数量 U を S で割った数に等しいパーセンテージだけ限界回数が少なくなります。ここで、 U は使用不可のサーバー数で、S は、正常に使用可能なサーバー数です。

  失敗した認証試行の限界数設定について、望ましくない結果を避けるため、次の推奨処置に注意してください。

  - -attempts 引き数(失敗認証試行の限度) を極端に低く設定しないでください。平均ユーザー・アカウントにお勧めする失敗試行回数の限界は、9 回です。3 つのデータベース・サーバー・マシンを使用するとして、1 つのセルで認証サーバーごとに 3 回試行できます。
  - -locktime 引き数を組み込む場合は、短めのロックアウト時間を設定してください。パスワードを推測することは、ハッキングの共通の手口であっても、それほど高度なものではありません。ロックアウト時間の設定は、ハッカーの侵入を思いとどまらせる助けにはなりますが、あまり長いと潜在的ハッカーより許可されているユーザーに負担がかかってしまいます。通常ユーザー・アカウントにお勧めするロックアウト時間は、25 分です。
  - 特に重大な理由がない限り、アカウントに無制限のロックアウト時間 (-locktime 引き数を0 [ゼロ] にする) を割り当てないでください。このようなアカウントは、ほとんど必然的にある時点でロックされます。なぜなら、各認証サーバーは、kaauxdb ファイルのコピーにあるアカウントの障害カウンターをリセットしないからです (反対に、ロックアウト時間が無制限ではない場合、その認証サーバーに対して最後に試行に失敗してから、指定した時間が経過するとカウンターはリセットされます)。さらに、無制限ロックアウト時間を持つアカウントのロックを解除する唯一の方法は、管理者が、 kas unlock コマンドを発行することです。特に危険なのは、管理者のアカウントに無制限のロックアウト回数を設定することです。すべての管理者のアカウントがロックされてしまった場合、ロックを解除する方法は、認証サーバーの全インスタンスを終了し、kaauxdb ファイルを消去することしかありません。

  要約すると、お勧めする認証試行の制限回数は 9 回、ロックアウト時間は 25 分です。

- パスワードの有効期間を制限する。

  使用するパスワードが長いほど、ハッカーはそのパスワードを知るのに時間がかかります。このタイプのハッキングから保護するには、 -pwexpires 引き数を kas setfields コマンドに使用して、ユーザーのパスワードの有効日数を制限します。パスワードが失効すると、ユーザーは AFS を使って認証できなくなりますが、 30 日以内に kpasswd コマンドを使用すれば、新規パスワードを設定できます。30 日間が経過した後は、認証データベース項目に関する `ADMIN` フラグを持つ管理者だけが、パスワードを変更することができます。

  パスワードの有効期間を設定すると、多くの AFS 仕様に変更されたログイン・ユーティリティー (ただし、 klog コマンドではない) は、 PASSWORD_EXPIRES 環境変数に、パスワードが失効するまで残っている日数を設定します。ゼロを設定すると、パスワードの失効日は今日になります。必要な場合、ユーザーのログイン・スクリプトをカスタマイズして、パスワードが失効するまでの残りの日数を表示し、あとわずかの日数で失効するときにはプロンプトを出すことさえできます。

- パスワードの再利用を禁止する。

  ユーザーが現在の値に新規パスワードを単に設定するだけの場合、新規パスワードの定期的な選択をユーザーに強制するのは効果的ではありません。ユーザーが、最近の 20 のパスワードのいずれかに類似する文字列を新規パスワードとして設定するのを防ぐには、 kas setfields コマンドに -reuse 引き数を使用します。

  パスワードの再値用を禁止しているのに、ユーザーが非常に類似するパスワードを指定した場合、認証サーバーは、以下のメッセージを生成し、そのパスワードを拒否します。

         Password was not changed because it seems like a reused password

  持続ユーザーは、クィック継続 （またはそれを実行するスクリプトの実行）で、このパスワードを 20 回変更することによって、この制限のう回を試行することができます。これが問題になると思う場合は、-minhours 引き数を、 kaserver 初期設定コマンドに組み込みます (詳しくは、 AFS Administration Reference 内のコマンド解説のページを参照してください)。ユーザーが頻繁にパスワードを変更しようとすると、次のメッセージが表示されます。

         Password was not changed because you changed it too recently; see
         your systems administrator

- 新規パスワードの品質を検査する

  パスワードに対して、最小限の品質基準を課すことができます。それには、 kpwvalid というスクリプトまたはプログラムを作成します。kpwvalid ファイルが既にある場合は、 kpasswd および kas setpassword コマンド・インタープリターがこれを呼び出して、新規パスワードをチェックします。パスワードが品質基準に準拠していない場合、 kpwvalid プログラムは適切なコードを返し、コマンド・インタープリターはそのパスワードを拒否します。

  kpwvalid ファイルは、実行可能ファイルでなければなりません。また、 kpasswd および kas バイナリーと同じ AFS ディレクトリーになければなりません。このファイルのディレクトリーの ACLは、w (書き込み) アクセス権を、 system:administrators グループだけに許可していなければなりません。

  kpwvalid プログラムを作成する場合は、次のような規定を設けることを考慮してください。

  - 最小限の長さ
  - ディレクトリー内の禁止語
  - 文字とともに表示される必要のある、数字、句読点、またはその両方

  AFS の配布には、kpwvalid プログラムが例として組み込まれています。AFS Administration Referenceの kpwvalid コマンドの参照ページを参照してください。

### ログイン試行の連続失敗数を制限する

1. kas setfields コマンドを、-attempts および -locktime 引き数と共に発行します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas setfields <name of user> \
                          -admin <admin principal to use for authentication>  \
                          -attempts <maximum successive failed login tries ([0..254])>  \
                          -locktime <failure penalty [hh:mm or minutes]>
           Administrator's (admin_user) password: admin_password

   ここで、

   name of user
     編集する認証データベース項目を指定します。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin アカウントなど)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

   -attempts
     認証プロセス中 (klog コマンドまたは AFS 仕様に変更されたログイン・ユーティリティーなどを介して)、-locktime引き数によって指定された時間範囲に対し、それ以上の試行を認証サーバーが拒否する前に、各ユーザー・アカウントが正しいパスワードの入力を連続して失敗することが許される最大回数を指定します。有効な値の範囲は、0 (ゼロ) から 254 までです。この引き数を省略するかまたは 0 を指定した場合、認証サーバーは無制限の試行を許可します。

   -locktime
     -attempts 引き数により指定した失敗の制限回数をユーザーが超過した後、そのユーザーからの認証試行を認証サーバーがどれほど長く拒絶するかということを指定します。

     時間と分の (hh:mm) または分だけ (mm) の時間数を、 01 (1 分) から 36:00 (36 時間) の範囲から指定します。kas コマンド・インタープリターは、自動的に、36:00 よりも大きいすべての値を 36:00 に削減し、また、非ゼロ値を 8.5 分の倍数で次に高い最初の値にそれぞれ切り上げます。

     値の 0 (ゼロ) は、無限のロックアウト時間を設定するので、管理者のアカウントに指定しない方がよいでしょう。管理者は、このようなアカウントをロック解除するために、常にkas コマンドを発行しなければなりません。

### ロックされたユーザー・アカウントのロックを解除する

1. kas コマンドを発行して対話モードに入ります。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas -admin <admin principal to use for authentication>
           Administrator's (admin_user) password: admin_password
          ka>

   -admin は、認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

2. (kas) examine を発行して、次のメッセージに示されるように、ユーザーのアカウントが実際にロックされていることを確認します。

          ka> examine <name of user>
          User is locked until time

3. (kas) unlock コマンドを発行して、アカウントのロックを解除します。

          ka> unlock <authentication ID>

   ここで、

   u
     は、unlock の受け入れ可能な省略形です。

   authentication ID
     ロックが解除される認証データベース項目を指定します。

### パスワードの存続時間を設定する

1. kas setfields コマンドを -pwexpires 引き数と共に発行します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas setfields <name of user> \
                          -pwexpires <number days password is valid  [0..254])>  \
                          -admin <admin principal to use for authentication>
           Administrator's (admin_user) password: admin_password

   ここで、

   name of user
     パスワード有効期限を課す認証データベース項目を指定します。

   -pwexpires
     ユーザーのパスワードが変更された後、それが有効であり続ける日数を設定します。 1 から 254 の範囲から整数を与えて、有効期限までの日数を指定します。

     パスワードが無効になる (有効期限切れになる) と、ユーザーは、認証できなくなりますが、その後 30 日間は、 kpasswd コマンドまたは kas setpassword コマンドを発行してパスワードを変更できます (それ以降は、パスワードを変更できるのは、管理者だけです)。時計は、kas setfields コマンドを発行したときではなく、パスワードを最後に変更したときに開始することに注意してください。そ及的な期限切れを避けるために、ユーザーは、コマンドを発行する直前にパスワードを変更するようにします。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

### パスワードの再利用を禁止する

1. kas setfields コマンドを -reuse引き数と共に発行します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas setfields <name of user> -reuse < permit password reuse (yes/no)>  \
                          -admin <admin principal to use for authentication>
           Administrator's (admin_user) password: admin_password

   ここで、

   name of user
     パスワード再利用ポリシーを設定する認証データベース項目を指定します。

   -reuse
     認証サーバーが、最後の 20 のパスワードに類似するパスワードの再利用を許可するかどうかを指定します。再利用を禁止する場合は、値をいいえに、またはパスワードの再利用を許可するデフォルトを復権させる場合は、値をはいに指定します。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

## AFS パスワードの変更

アカウントの作成時に初期パスワードを設定した後は、通常ユーザー・パスワードの変更は不要です。AFS 使用者の手引き の説明に従うことにより、ユーザーが kpasswd コマンドを使用して各自で変更できるからです。まれに、ユーザーがパスワードを忘れた場合またはそれ以外でログインできない場合、 kas setpassword コマンドを使用して、新規パスワードを設定することができます。

ローカル・パスワード・ファイル (/etc/passwd、またはそれに相当するもの) 内の項目が、パスワード・フィールド内に、順序を変えた実パスワードを持っている場合は、そのパスワードも変更することを忘れないでください。詳しくは、ローカル・パスワード・ファイルにパスワードを指定 を参照してください。

### AFS パスワードを変更する

1. パスワードを変更するには、kas setpassword コマンドを発行します。ユーザーの新規パスワードが画面にエコーされて表示されるのを防ぐには、 -new_password 引き数を省略します。その代わりに、引き数を省略する際に表示されるプロンプトに対して、次のようにパスワードを入力します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas setpassword <name of user> \
                            -admin <admin principal to use for authentication>
          Administrator's (admin_user) password: admin_password
          new_password: new_password
          Verifying, please re-enter new_password: new_password

   ここで、

   sp
     setpassword の受け入れ可能な別名です (setp は受け入れ可能な最も短い省略形です)。

   name of user
     パスワードを設定する認証データベース項目を指定します。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

   new_password
     ユーザーの新規パスワードを指定します。kpwvalid プログラムを使用する場合は、プログラムにより課される制限に従います。

## ユーザー・ボリュームに対する割り当て量の表示および設定

ユーザー・ボリュームは、割り当て量に関しては、他のすべてのボリュームと似ています。vos create コマンドに -maxquota 引き数を使用して、異なる割り当て量を割り当てない限り、新規 AFSボリュームには、5000 KB のデフォルト割り当て量があります。また、以下のコマンドのいずれかを使用して、いつでも割り当て量を変更することができます。

- fs setquota
- fs setvol

次の 3 つのコマンドのいずれかを使用して、ボリュームの割り当てを表示することができます。

- fs quota
- fs listquota
- fs examine

説明については、ボリューム割り当て量および現行サイズの設定および表示を参照してください。

## ユーザー名の変更

規則では、アカウントのコンポーネントの多くには、ユーザー名、保護および認証データベース項目、ボリューム名、ホーム・ディレクトリー名などが組み込まれています。ユーザー名を変更する場合には、整合性を維持するためにすべてのコンポーネントの名前を変更するのが最適の方法です。したがって、ユーザー名を変更する手順には、新規ユーザー・アカウントを作成する手順とほとんど同じくらい多くのステップがあります。

### ユーザー名を変更する

1. 以下の特権のすべてを持つ AFS ID として認証します。標準構成では、admin ユーザー・アカウントがこれらすべての特権を持っています。または、またはユーザーが個人的な管理アカウントを持っている可能性があります (セルのセキュリティーを向上させるには、管理手順を実行するときだけ、特別な特権アカウントを作成して使用するとよいでしょう。詳細は、 管理権限の概要 を参照してください)。必要な場合、認証するために klog コマンドを発行します。

          % klog admin_user
          Password: admin_password

   次のリストは、必要な特権を指定し、それらの特権を所有しているかどうかを検査する方法を示しています。

   - system:administrators グループのメンバーシップ。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

            % pts membership system:administrators

   - /usr/afs/etc/UserList ファイルに組み込まれていること。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、 UserList ファイルのユーザーの表示で詳しく説明しています。

            % bos listusers <machine name>

   - 認証データベース項目の `ADMIN` フラグ。ただし、認証サーバーは独自の認証を実行するので、以下の説明では、 kas コマンド行自体に管理 ID を指定します。
   - 現行のマウント・ポイントまたは新規マウント・ポイントを削除するディレクトリーの ACL 上のa (管理)、d (削除)、および i (挿入) アクセス権。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

            % fs listacl [<dir/file path>]

     system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

2. pts listowned を発行して、ユーザーが所有する任意のグループを表示する。 3 のステップで保護データベースのユーザー名を変更した後、 pts rename コマンドを発行して、各グループの所有者の接頭部を新しい名前に合わせて変更する必要があります。これは、保護サーバーが名前の変更を自動的に行わないためです。pts listowned コマンドの詳細な説明については、保護データベースからの情報の表示を参照してください。

          % pts listowned <user or group name or id>

3. pts rename コマンドを発行して、保護データベースのユーザー名を変更します。

          % pts rename <old name> <new name>

4. pts rename コマンドを発行して、2 のステップでメモしたグループ名を変更し、グループの所有者の接頭部 (コロンの前のグループ名の一部) が所有者の新しい名前を正確に反映するようにします。

   各グループごとにコマンドを繰り返します。その構文についての説明は、 3 のステップにあります。

          % pts rename <old name> <new name>

5. kas コマンドを発行して対話モードに入ります。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas -admin <admin principal to use for authentication>
          Administrator's (admin_user) password: admin_password
          ka>

   -admin は、認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。

6. (kas) delete コマンドを発行して、ユーザーの既存の認証データベース項目を削除します。

          ka> delete <name of user>

   ここで、

   del
     delete の受け入れ可能な省略形です。または別名 rm を使用することもできます。

   name of user
     削除する認証データベース項目を指定します。
7. (kas) create コマンドを発行して、新規ユーザー名の認証データベース項目を作成します。ユーザーの新規パスワードが画面に表示されるのを防ぐには、-initial_password 引き数を組み込まないでください。代わりに、以下の構文仕様に示すように、プロンプトが表示されたときにパスワードを入力します。

          ka> create  <name of user>
          initial_password: password
          Verifying, please re-enter initial_password: password

   ここで、

   cr
     は、create の受け入れ可能な省略形です。

   name of user
     新規ユーザー名を指定します。

   password
     新規ユーザー・アカウントのパスワードを指定します。ユーザーが現行パスワードをユーザーに通知する場合は、それを保存することができます。通知しない場合は、いくつかアプリケーションで課される長さの制限に準拠するように、8 文字以下の文字列を与えます。初期パスワードには、ユーザー名、社会保障番号などの個人 ID 番号からの数字の文字列、または changeme などの標準文字列を使用することができます。しかし、AFS 使用者の手引き に説明されるように kpasswd コマンドを使用して、できるだけ早くこの文字列を本当の秘密のパスワードに変更させるようにユーザーに指示して下さい。
8. quit コマンドを発行して、対話モードを終了します。

          ka> quit

9. vos rename コマンドを発行して、ユーザーのボリュームの名前を変更します。完全な構文については、ボリュームの名前変更 を参照してください。

          % vos rename  <old volume name>  <new volume name>

10. fs rmmount コマンドを発行して、既存のマウント・ポイントを削除します。directory 引き数の場合、マウント・ポイントに読み取り / 書き込みパスを指定して、読み取り専用ボリューム内からマウント・ポイントを削除しようとするときに障害が発生するのを防ぎます。

           % fs rmmount <directory>

11. fs mkmount コマンドを発行して、ボリュームの新規名に対するマウント・ポイントを作成します。前のステップに従って、directory 引き数のマウント・ポイントに対して、読み取り / 書き込みパスを指定します。完全な構文については、個別のコマンドを使用して単一ユーザー・アカウントを作成する 内の 6 のステップを参照してください。

           % fs mkmount <directory> <volume name>

12. 10 のステップと 11 のステップで行われた変更が、複写されたボリューム内に常駐しているマウント・ポイントに対する変更の場合は、 読み取り / 書き込みボリュームの複写 (読み取り専用ボリュームの作成) で説明しているように、 vos release コマンドを使用してそのボリュームを解放します。

           % vos release <volume name or ID>

    注: | このステップは、ホーム・ディレクトリーの親ディレクトリーが、複写されたボリュームのマウント・ポイントではなくても、必要な場合があります (また、そのようなケースでは、このステップを実行した方が監視が容易です)。たとえば、Example Corporation テンプレートは、 /afs/example.com/usr ディレクトリー内のユーザー・ボリュームにマウント・ポイントを置きます。このディレクトリーは、マウント・ポイントというよりは通常のディレクトリーですので、 /afs/example.com ディレクトリーに取り付けられた root.cell ボリューム内に常駐します。このボリュームは複写ですので、変更されたら、管理者は vos release コマンドを発行する必要があります。

## ユーザー・アカウントの削除

アカウントを削除する前に、テープなどの永久媒体上にユーザーのホーム・ボリュームのバックアップ・コピーを作成するのが最適の方法です。複数のアカウントを削除する必要がある場合は、おそらく、 uss delete コマンドを代わりに使用する方がより効率的です。uss delete コマンドによる個別アカウントの削除 を参照してください。

### ユーザー・アカウントを削除する

1. 以下の特権のすべてを持つ AFS ID として認証します。標準構成では、admin ユーザー・アカウントがこれらすべての特権を持っています。または、またはユーザーが個人的な管理アカウントを持っている可能性があります (セルのセキュリティーを向上させるには、管理手順を実行するときだけ、特別な特権アカウントを作成して使用するとよいでしょう。詳細は、 管理権限の概要 を参照してください)。必要な場合、認証するために klog コマンドを発行します。

          % klog admin_user
          Password: admin_password

   次のリストは、必要な特権を指定し、それらの特権を所有しているかどうかを検査する方法を示しています。

   - system:administrators グループのメンバーシップ。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

            % pts membership system:administrators

   - /usr/afs/etc/UserList ファイルに組み込まれていること。必要な場合には、bos listusers コマンドを発行します。このコマンドについては、 UserList ファイルのユーザーの表示で詳しく説明しています。

            % bos listusers <machine name>

   - 認証データベース項目の `ADMIN` フラグ。ただし、認証サーバーは独自の認証を実行するので、以下の説明では、 kas コマンド行自体に管理 ID を指定します。
   - ユーザー・ボリュームのマウント・ポイントを削除する予定のディレクトリーの ACL 上での d (削除) アクセス権。必要に応じて、fs listacl コマンドを発行します。これについては、ACL の表示 で詳しく説明しています。

            % fs listacl [<dir/file path>]

     system:administrators グループのメンバーは、a (管理)、および、デフォルトで l (検索) アクセス権を、常にすべての ACL に暗黙的に持っています。また、必要に応じて fs setacl コマンドを使用して、他の権限を付与することができます。

2. (オプション)。ユーザーのアカウントの復元を将来必要とする可能性がある場合は、ユーザー名と AFS UID を、できればその目的専用に指定したファイルにメモしておきます。将来、そのアカウントを、元の AFS UID に復元することができます。 AFS UID.
3. (オプション)。ユーザーのボリューム内容をテープに保管します。 ボリュームのダンプおよび復元 で説明されている vos dump コマンドか、 データのバックアップ で説明されている AFS バックアップ・システムを使用することができます。
4. (オプション)。ユーザーの項目を削除した後で、ユーザーが所有するグループを保護データベースから削除したい場合は、 pts listowned コマンドを発行して、それらのグループを表示します。詳しい手順については、 保護データベースからの情報の表示を参照してください。

          % pts listowned <user or group name or id>

5. (オプション)。pts delete コマンドを発行して、ユーザーが所有するグループを削除します。ただし、ほかのユーザーが、所有するディレクトリーの ACL 上にそのグループを配置することを予定している場合、そのグループを削除しない方がよいでしょう。

          % pts delete <user or group name or id>+

   ここで、

   del
     は、delete の受け入れ可能な省略形です。

   user or group name or id
     4 のステップからの出力に表示される各グループの名前または AFS UID を指定します。
6. kas delete コマンドを発行して、ユーザーの認証データベース項目を削除します。

   認証サーバーは、既存の AFS トークンを受け入れるのではなく、独自の認証を実行します。デフォルトでは、認証サーバーは、管理者のローカル (UNIX) 識別を認証します。この識別は AFS 特権管理者に対応しません。 -admin 引き数を組み込み、認証データベース項目に `ADMIN` フラグを持つ識別を指定します。項目にフラグがあることを確認するには、 ADMIN フラグがオンになっていることを確認するで説明するように、kas examine コマンドを発行します。

          % kas delete <name of user> \
                       -admin  <admin principal to use for authentication>
          Administrator's (admin_user) password: admin_password

   ここで、

   d
     は、delete の受け入れ可能な省略形です。

   name of user
     削除する認証データベース項目を指定します。

   -admin
     認証データベース項目に `ADMIN` フラグを持つ管理アカウントを指定します (admin など)。password プロンプトはアカウントを admin_user として表示します。適切なパスワードを、admin_password として入力します。
7. vos listvldb コマンドを発行して、ユーザーのホーム・ボリュームのサイトを削除に備えて表示します。規則では、ユーザー・ボリュームは、user.username と命名されています。

          % vos listvldb <volume name or ID>

   ここで、

   listvl
     は、listvldb の受け入れ可能な省略形です。

   volume name or ID
     ボリューム名またはボリューム ID を指定します。
8. vos remove コマンドを発行し、ユーザーのボリュームを削除します。バックアップが存在する場合、このコマンドは自動的にバックアップ・バージョンを削除します。ユーザー・ボリュームを複写するのは標準的方法ではないので、このコマンドは、通常、ボリュームの項目をボリューム・ロケーション・データベース (VLDB) から完全に削除します。ボリュームの読み取り専用レプリカがある場合、vos remove コマンドを繰り返し実行して、１つずつ順番に削除する必要があります。

          % vos remove <machine name> <partition name> <volume name or ID>

   ここで、

   remo
     は、remove の受け入れ可能な省略形です。

   machine name
     7 のステップからの出力で指定されるように、ボリュームが存在するファイル・サーバー・マシンを指定します。

   partition name
     7 のステップからの出力で指定されるように、ボリュームが存在するパーティションを指定します。

   volume name or ID
     ボリューム名またはボリューム ID を指定します。
9. fs rmmount コマンドを発行して、ボリュームのマウント・ポイントを削除します。

   ユーザーのバックアップ・ボリュームがホーム・ディレクトリーのサブディレクトリーとして取り付けられている場合、そのバックアップ・バージョンも同時に取り付け解除されます。バックアップ・バージョンを、ファイル・スペースと関係のない位置に取り付けている場合は、バックアップ・バージョン用に fs rmmount コマンドを繰り返し実行します。

          % fs rmmount <directory>

   ここで、

   rmm
     は、rmmount の受け入れ可能な省略形です。

   directory
     前のボリューム名に対するマウント・ポイント (つまり、前のホーム・ディレクトリー) を指定します。パス名の一部は、現行作業ディレクトリーとの関連で解釈されます。

     マウント・ポイントに読み取り / 書き込みパスを指定して、読み取り専用ボリューム内からマウント・ポイントを削除しようとするときに障害が発生するのを防ぎます。規則では、パス名の第 2 レベルのセル名の前にピリオドを付けて、読み取り / 書き込みパスを指定します (たとえば、 /afs/.example.com)。ファイル・スペースの読み取り / 書き込みパス、および読み取り専用パスの概念についての詳細は、 ボリュームの取り付け を参照してください

10. pts delete コマンドを発行して、ユーザーの保護データベース項目を削除します。このコマンドについての詳細な説明は、5 のステップにあります。

           % pts delete <user or group name or id>

11. 削除されたユーザー・ホーム・ディレクトリーが複写されたボリューム内に常駐していた場合は、 読み取り / 書き込みボリュームの複写 (読み取り専用ボリュームの作成) で説明しているように、 vos release コマンドを使用してそのボリュームを解放します。

              % vos release <volume name or ID>

    注: | このステップは、ホーム・ディレクトリーの親ディレクトリーが、複写されたボリュームのマウント・ポイントではなくても、必要な場合があります (また、そのようなケースでは、このステップを実行した方が監視が容易です)。たとえば、Example Corporation テンプレートは、 /afs/example.com/usr ディレクトリー内のユーザー・ボリュームにマウント・ポイントを置きます。このディレクトリーは、マウント・ポイントというよりは通常のディレクトリーですので、 /afs/example.com ディレクトリーに取り付けられた root.cell ボリューム内に常駐します。このボリュームは複写ですので、マウント・ポイントの削除によって変更されたら、管理者は、 vos release コマンドを発行する必要があります。

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

(C) IBM Corporation 2000. All Rights Reserved