# 管理の手引き

# 保護データベースの管理

この章では、保護データベース内のユーザー、マシン、およびグループ記入項目の作成および保守方法を説明します。

## 説明の要約

本章では、指示されたコマンドを使用した以下のタスクの実行方法を説明します。

保護データベース項目の表示 | pts examine
ユーザー、マシン、またはグループ名を AFS ID にマップする | pts examine
項目の所有者または作成者の表示 | pts examine
グループに属しているユーザーまたはマシン数の表示 | pts examine
ユーザーまたはマシンが属しているグループ番号を表示する | pts examine
グループ作成割り当て量の表示 | pts examine
項目のプライバシー・フラグの表示 | pts examine
ユーザーまたはマシンが属しているグループのメンバーを表示する | pts membership
ユーザーまたはグループが所有しているグループを表示する | pts listowned
保護データベースのすべての項目を表示する | pts listentries
マシン項目の作成 | pts createuser
グループ項目の作成 | pts creategroup
ユーザーおよびマシンをグループに追加する | pts adduser
ユーザーおよびマシンをグループから削除する | pts removeuser
マシンまたはグループ項目の削除 | pts delete
グループの所有者を変更する | pts chown
記入項目の名前を変更する | pts rename
グループ作成割り当て量を設定する | pts setfields
項目のプライバシー・フラグを設定する | pts setfields
AFS ID カウンターを表示する | pts listmax
AFS ID カウンターを設定する | pts setmax

## 保護データベースについて

保護データベースは、クライアントが AFS のデータにアクセスできるかどうかを決めるためにファイル・サーバー・プロセスで使用する、 AFS ユーザー、クライアント・マシン、およびグループに関する情報を保管します。

AFS セルへの認証済みアクセスを入手するためには、ユーザーは、必ず、そのセルの保護データベース記入項目にそのセル用の記入項目を所有していなければなりません。ユーザーがファイル・サーバー・マシンに保管されているデータへのアクセスを初めて要求するとき、そのマシンのファイル・サーバーは、保護サーバーと連絡を取り、ユーザーの現在の保護サブグループ (CPS) を要求します。保護サーバーは、そのユーザーが属するすべてのグループをリストします。ファイル・サーバーは、データのあるディレクトリーのアクセス制御リスト (ACL) をスキャンして、 CPS 上のグループを検索します。保護サーバーは、ACL がユーザーのグループまたは個々のユーザーに拡張するアクセス権に従って、アクセス権を許可します。(ファイル・サーバーは、CPS を保管し、ユーザーが同じトークンを持っている間、その CPS を使用します。ユーザーのグループ・メンバーシップが変更されると、ユーザーは、変更を認識するためにサイドファイル・サーバーに対して認証を行う必要があります)。

セルの system:administrators グループに属している管理者だけが、ユーザー項目 (システム・グループで説明するように、グループ自体が、保護データベースに定義されています) を作成することができます。system:administrators グループのメンバーは、マシン項目を作成することもできます。マシン項目は、アクセス要求の発信元であるマシンに基づいてアクセスを制御するために使用できます。マシン項目の作成後、マシン項目を保護データベース・グループに追加して、そのグループを ACL 上に配置します (マシンはACL 上に直接表示できません)。マシン項目は単一マシン、またはワイルドカード表記によって指定されるような、連続する IP アドレスを持つ複数マシンを表すことができます。説明については、ユーザーおよびマシン項目の作成を参照してください。ボリュームのすべてのレプリカは同じ ACL (ボリュームのルート・ディレクトリーのマウント・ポイント上のもの) を共有しているため、プログラムの製造業者が要求するマシン・ベースのライセンス協定に準拠している間は、プログラムのバイナリー・ファイルがあるボリュームを複写することができます。 ユーザーおよびマシン項目の作成 を参照してください。

グループ項目は、ユーザー項目、マシン項目、あるいはその両方 (グループは他のグループに属することができない) のリストです。ACL にグループを配置するのは、ユーザーを個別に ACL 上にリストしないでユーザーのセットへのアクセスを拡張または拒否するのに便利な方法です。同様に、グループにユーザーを追加すると、関連する ACL がそのグループをリストするすべてのファイルおよびディレクトリーへのアクセスが、自動的に許可されます。管理者および通常ユーザーは、どちらもグループを作成することができます。

### システム・グループ

ユーザーおよび管理者が作成できるグループに加えて、AFS は、以下の 3 つのシステム・グループを定義しています。保護サーバーは、セルの保護データベースの最初のバージョンを構築するときに、自動的にグループを作成して、常にそれらのグループに同じ AFS GID を割り当てます。

system:anyuser
  認証済みまたは非認証にかかわらず、ローカルおよび外部セルから、セルにファイル・スペースにアクセスできるすべてのユーザーを表します。このグループの AFS GID は、-101 です。グループには、保護データベースにリストされた継続的なメンバーシップがありません。したがって、pts examine コマンドの場合、`メンバーシップ` フィールドに 0 を表示しますが、pts membership コマンドの場合は、このフィールドにどのメンバーも表示しません。

  このグループを ACL に配置するのは、すべてのユーザーにアクセスを拡張するのに便利な方法です。ファイル・サーバーは、このグループを、ファイル・サーバー・マシンに保管されているデータへのアクセスを要求する任意のユーザーの CPS に自動的に配置します (すべての非認証ユーザーは、 anonymous という識別を割り当てられます。このグループは、 anonymous に対する CPS 上の唯一の項目です)。

system:authuser
  ローカルおよび外部セルからセルのファイル・スペースにアクセスできるすべてのユーザー、およびローカル・セル (認証済み) において、AFS トークンを正常に入手したすべてのユーザーを表します。このグループの AFS GID は、-102 です。system:anyuser グループと同様に、このグループには、保護データベースにリストされた継続的なメンバーシップがありません。したがって、pts examine コマンドの場合、`メンバーシップ`・フィールドに 0 を表示しますが、pts membership コマンドの場合は、このフィールドにどのメンバーも表示しません。

  したがって、このグループを ACL に配置するのは、すべての認証済みユーザーにアクセスを拡張するのに便利な方法です。ファイル・サーバーは、このグループを、ファイル・サーバー・マシンに保管されているデータへのアクセスを要求する任意の認証済みユーザーの CPS に自動的に配置します

system:administrators
  特権 pts コマンド、および割り当て量を設定する fs コマンドを発行することを許可されている、少数のセル管理者を表します。すべての新規に作成されたボリュームのルート・ディレクトリー上の ACL は、このグループにすべてのアクセス権を許可します。この項目を削除しても、このグループは、すべての ACL について a (管理) アクセス権、およびデフォルトではl (ルックアップ) アクセス権を暗黙的に所有しています。このグループの AFS GID は、-204 です。このグループの管理についての説明は、system:administrators グループの管理を参照してください。

## 保護データベースからの情報の表示

この機能グループでは、保護データベース項目およびそれに関連する情報を表示するために使用できるコマンドについて説明します。名前と AFS ID のほかに、保護データベースには、各ユーザー、マシン、またはグループ項目について、以下の情報が保管されています。

- 項目の所有者。ユーザーまたはユーザーのグループであり、項目を管理することができます。
- 項目の作成者。ほとんど監査証跡として使用されます。
- メンバーシップ件数。ユーザーまたはマシンが属しているグループ数、またはグループに属しているメンバー数を示します。
- プライバシー・フラグのセット。項目に関する情報を管理または表示できるユーザーを制御します。
- グループ作成割り当て。ユーザーが作成できるグループ数を定義します。
- グループのリスト。1 つのユーザーまたはマシンが属している複数のグループ、または複数のユーザーおよびマシンが属している 1 つのグループのリストです。
- ユーザーまたはグループが所有しているグループのリスト。

### 保護データベース項目を表示する

1. system:administrators グループに属することを確認します。このグループからは、最初の (s) プライバシー・フラグの設定に関係なく、項目を表示することができます。デフォルトでは、いずれのユーザーも保護データベース項目を表示できます。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts examine コマンドを発行して、1 つまたは複数の保護データベース記入項目を表示します。

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

   ここで、

   e
     は、examine の受け入れ可能な省略形です。 (check は別名です)。

   user or group name or id
     は、表示する各記入項目ごとの名前または AFS ID を指定します。すべての AFS GID の前にハイフン (-) を付けます。これは負の整数であるからです。

以下のフィールドが出力されます。例も示します。

`Name`
  項目名を指定します。
  - ユーザーの場合、これは、AFS による認証時に使用される名前および ACL の項目に表示される名前です。
  - マシンの場合、シングル・マシンの IP アドレス、または ユーザーおよびマシン項目の作成 に説明するように、連続する IP アドレスを持つマシンのグループを表すワイルドカードの表記です。
  - ユーザーの場合、これは、ACL 項目に表示される名前であり、pts membership コマンドによって出力されるグループのリストに表示される名前です。通常 グループの名前は、コロン (:) で 2 つの部分に分けられています。コロンの前の部分は、グループの所有者名、コロンの後の部分は固有の名前です。接頭部を持たない グループの名前には、所有者の接頭部がありません。system:administrators グループだけが接頭部を持たないグループを作成することができます。グループ名についての詳細は、グループの作成を参照してください。

`id`
  項目の固有の AFS 識別番号を指定します。ユーザーおよびマシン項目の場合、 AFS ユーザー ID (AFS UID) は正の整数であり、グループの場合、 AFS グループ ID (AFS GID) は負の整数です。AFS UID および GID は、対応する UNIX ファイル・システムの部分と同じ機能を持っています。ただし、 AFS UID および GID を使用するのは、AFS サーバーとキャッシュ・マネージャーだけです。

  通常、保護サーバーは、保護データベース記入項目を作成する際に自動的に AFS UID または GID を割り当てます。system:administrators のメンバーだけが、必要に応じて、ID を指定することができます。詳しくは、ユーザーおよびマシン項目の作成 と グループの作成 を参照してください。

`owner`
  項目を所有しており、したがってその項目を管理できるユーザーまたはグループです (ほかのグループを所有しているグループについての詳細は、グループの効果的な使用を参照してください)。項目のプライバシー・フラグの設定によっては、ほかのユーザーが、管理権限を持っている可能性もあります。所有者の変更に関する説明については、 グループの所有者を変更する を参照してください。

`creator`
  項目を作成し、監査証跡として機能するユーザーです。この項目が、保護データベースから削除されるようなことがあれば、その作成者がもうその項目を所有していなくても、その作成者のグループ作成割り当て量が、1 つずつ増えます。グループ作成割り当て量の設定を参照してください。

  このフィールドの `anonymous` の値は、一般に、保護サーバーが非認証モードで実行されているときの、おそらくそのセルの最初のファイル・サーバー・マシンの初期構成の間にその記入項目が作成されたことを示します。非認証モードについての説明は、 認証と許可の要件の管理を参照してください。

`membership`
  ユーザーやマシンが属しているグループの数、またはグループに属しているユーザーやマシンの数を示します。

`flags`
  保護データベース記入項目の情報をだれが表示または変更できるかを指定します。それぞれ異なる機能を表す 5 つのフラグが、常に同じ順序で表示されます。
  - ユーザー項目の場合、デフォルトは `S----` であり、誰でもその項目に対して pts examine コマンドを発行できることを示しますが、その他のアクションを実行することができるのは、 system:administrators グループのユーザーおよびメンバーだけです。
  - マシン項目の場合、デフォルトは `S----` であり、誰でもその項目に対して pts examine コマンドを発行できることを示しますが、その他のアクションを実行することができるのは、 system:administrators グループのメンバーだけです。
  - グループ項目の場合、デフォルトは `S-M--` であり、誰でもその項目に対して pts examine コマンドと pts membership コマンドを発行できることを示しますが、その他のアクションを実行することができるのは、 system:administrators グループの所有者およびメンバーだけです。

  フラグに使用できる可能性のある値についての詳細な説明は、 データベース項目のプライバシー・フラグを設定を参照してください。

`group quota`
  ユーザーが、保護データベース内にあといくつのグループを作成できるかを指定します。新規に作成されるユーザー項目に対する値は 20 ですが、 system:administrators グループのメンバーは、pts setfields コマンドを発行して、いつでも値を変更することができます。グループ作成割り当て量の設定 を参照してください。

  グループ作成割り当て量は、マシンまたはグループ項目に対しては何の意味もありません。保護サーバーは、pts creategroup コマンドの発行を、マシンやグループとしてではなく、認証済みユーザーとして、または anonymous ユーザーとしてのみ認識します。グループ項目のデフォルト値は、 0 (ゼロ) であり、変更する理由はありません。

以下の例は、pat というユーザー、IP アドレス 192.12.108.133 のマシン、および terry:friends というグループに対する出力を示しています。

       % pts examine pat
       Name: pat, id: 1020, owner: system:administrators, creator: admin,
         membership: 12, flags: S----, group quota: 15.
       % pts ex 192.12.108.133
       Name: 192.12.108.133, id: 5151, owner: system:administrators, creator: admin,
         membership: 1, flags: S----, group quota: 20.
       % pts examine terry:friends
       Name: terry:friends, id: -567, owner: terry, creator: terry,
         membership: 12, flags: SOm--, group quota: 0.

### グループ・メンバーシップを表示する

1. system:administrators グループに属することを確認します。このグループからは、 3 番目の (m) プライバシー・フラグの設定に関係なく、項目のグループ・メンバーシップ情報を表示することができます。デフォルトでは、所有者およびユーザーは、ユーザー項目のグループ・メンバーシップ、マシン項目の所有者、およびグループ項目のすべてを表示することができます。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts membership コマンドを発行して、グループのリスト。1 つのユーザーまたはマシンが属している複数のグループ、または複数のユーザーおよびマシンが属している 1 つのグループのリストです。

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

   ここで、

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

   user or group name or id
     属しているグループをリストする、各ユーザーやマシンの名前または AFS UID 、あるいはメンバーをリストする、各グループの名前または AFS GID を指定します。

ユーザーおよびマシン項目の場合、出力は以下の文字列から開始されます。そして、各グループは別々の行に出力されます。

       Groups user_or_machine (id: AFS_UID) is a member of:

グループ項目の場合、出力は以下の文字列から開始されます。そして、各メンバーは別々の行に出力されます。

       Members of group (id: AFS_GID) are:

システム・グループ system:anyuser および system:authuser の場合、初期ヘッダー文字列だけが出力されます。これらのグループには、保護データベース記入項目にリストされる、継続したメンバーシップがないからです。システム・グループ を参照してください。

以下の例は、terry というユーザー、および terry:friends というグループに対する出力例を示しています。

       % pts mem terry
       Groups terry (id: 5347) is a member of:
         pat:friends
         sales
         acctg:general
       % pts mem terry:friends
       Members of terry:friends (id: -567) are:
         pat
         smith
         johnson

### ユーザーまたはグループが所有しているグループをリストする

1. system:administrators グループに属することを確認します。このグループからは、 2 番目の (o) プライバシー・フラグの設定に関係なく、項目のグループ所有者情報を表示することができます。デフォルトでは、所有者は、グループが所有しているグループをリストし、ユーザーは、自分の所有するグループをリストすることができます。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts listowned コマンドを発行して、各ユーザーまたはグループが所有しているグループをリストします。

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

   ここで、

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

   user or group name or id
     所有しているグループをリストする、各ユーザーの名前または AFS UID 、あるいは各グループの名前または AFS GID を指定します。

出力は以下の文字列から開始されます。そして、各グループは別々の行に出力されます。

       Groups owned by user_or_group (id: AFS_ID) are:

以下の例は、terry というユーザー、および terry:friends というグループに対する出力例を示しています。

       % pts listo terry
       Groups owned by terry (id: 5347) are:
         terry:friends
         terry:co-workers
       % pts listo terry:friends
       Groups owned by terry:friends (id: -567) are:
         terry:pals
         terry:buddies

### すべての保護データベース項目の表示

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts listentries コマンドを発行して、すべての保護データベース項目を表示します。

          % pts listentries [-users] [-groups]

   ここで、

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

   -users
     ユーザーおよびマシン項目を表示します。このフラグと -groups フラグの両方を省略した場合も、出力結果は同じです。

   -groups
     グループ項目を表示します。

以下の列を含むテーブルが出力されます。例も示します。

`Name`
  項目名を指定します。

`ID`
  項目の AFS 識別番号を指定します。ユーザーおよびマシン項目の場合、 AFS ユーザー ID (AFS UID) は正の整数であり、グループの場合、 AFS グループ ID (AFS GID) は負の整数です。

`Owner`
  項目を所有しており、したがってその項目を管理できるユーザーまたはグループの AFS ID を指定します。

`Creator`
  項目を作成したユーザーの AFS UID を指定します。

以下の例は、Example Corporation セルからのものです。コマンドを発行する際にオプションを指定していないため、出力にはユーザーおよびマシン項目が含まれています。

       % pts listentries
       Name                          ID  Owner Creator
       anonymous                  32766   -204    -204
       admin                          1   -204   32766
       pat                         1000   -204       1
       terry                       1001   -204       1
       smith                       1003   -204       1
       jones                       1004   -204       1
       192.12.105.33               2000   -204       1
       192.12.105.46               2001   -204       1

## ユーザーおよびマシン項目の作成

保護データベースの記入項目は、認証データベース内の項目と共に、すべての AFS ユーザー・アカウントの 2 つの必須コンポーネントの 1 つです。 uss コマンド組によるユーザー・アカウントの作成と削除 で説明するように uss add または uss bulk コマンドを使用して、あるいは AFS ユーザー・アカウントの作成で説明するように pts createuser コマンドを使用して、完全なユーザー・アカウントを作成するコンテキストに保護データベースのユーザー記入項目だけを作成するのが最も良い方法です。

pts createuser コマンドを使用して、保護データベースのマシン項目を作成することもできます。マシン項目は、アクセス要求の発信元であるマシンに基づいてアクセスを制御するために使用できます。マシン項目の作成後、マシン項目を保護データベース・グループに追加して、そのグループを ACL 上に配置します (マシンはACL 上に直接表示できません)。ボリュームのすべてのレプリカは同じ ACL (ボリュームのルート・ディレクトリーのマウント・ポイント上のもの) を共有しているため、プログラムの製造業者が要求するマシン・ベースのライセンス協定に準拠している間は、プログラムのバイナリー・ファイルがあるボリュームを複写することができます。ACL に他に何も項目を配置しない場合、指定したマシンで作業するユーザーだけがそのファイルにアクセスすることができます。

マシン項目を持つグループに対してそのマシンに ACL 項目を作成すると、そのマシンで作業している認証済みユーザーおよび非認証ユーザーの両方へのアクセスが拡張されることに留意してください。ただし、ファイルのパス名の親ディレクトリーの ACL から、system:anyuser グループの項目を削除することによって、非認証ユーザーへのアクセスを拒否することができます。反対に、マシン上の非認証ユーザーがファイルにアクセスできるようにしたい場合は、そのユーザーに続くすべてのディレクトリー上の ACL は、 system:anyuser グループ、またはマシン項目が属しているグループのいずれかに対する項目を組み込む必要があります。system:anyuser について詳しくは、 システム・グループ を参照してください。

マシン項目には非認証ユーザーを組み込むことができるため、マシン項目およびユーザー項目の両方を同じグループに追加しないのが最も良い方法です。一般には、混合しないグループを使用して管理するほうが簡単です。マシン項目は単一マシン、またはワイルドカード表記によって指定されるような、連続する IP アドレス (すなわち、ネットワークまたはサブネット上のすべてのマシン) を持つ複数マシンを表すことができます。 保護データベースにマシン項目を作成する にある説明を参照してください。

デフォルトでは、保護サーバーは、次に使用可能な AFS UID を新規ユーザーまたはマシン項目に割り当てます。特に、マシン項目の場合は、これを許可するのが最も良い方法です。ユーザー項目の場合は、ユーザーが AFS UID に一致させる必要のある UNIX UID をすでに所有している場合のみ、AFS UID を割り当てることが意味をなします (一致する AFS と UNIX UID の割り当てを参照してください)。 AFS UID を自動的に割り当てるとき、保護サーバーは、 `max user id` カウンターを 1 ずつ増分して、その結果を新規項目に割り当てます。 AFS UID および GID カウンターの表示および設定に説明するように、pts listmaxコマンドを 使用して、カウンターを表示します。

ユーザーのセルを永久に離脱したユーザーの AFS UID または削除したマシン項目は、 ID の明らかな無駄を防ぐためであっても、再利用しないでください。保護データベースからユーザーまたはマシンの項目を削除しようとすると、fs listacl コマンドにより、名前ではなく以前の項目に関連する AFS UID が表示されます。その後、 AFS UID を新規ユーザーまたはマシンに割り当てると、新規ユーザーまたはマシンは、 ID の直前のプロセッサーに付与されたアクセス権を自動的に継承します。使用されなくなった AFS UID を ACL から削除するには、古くなった AFS ID を ACL から除去する で説明するように、fs cleanacl コマンドを使用します。

名前および AFS UID のほかに、保護サーバーは、新規ユーザーまたはマシン項目の指定されたフィールドに、以下の値を記録します。項目の表示についての詳細な説明は、保護データベース項目を表示する を参照してください。

- `所有者`フィールドに、system:administrators グループを設定し、そのグループのメンバーがグループを管理することを示します。
- `作成者`フィールドに、pts createuser コマンド (または uss add または uss bulk コマンド) を発行したユーザーのユーザー名を設定します。
- `メンバーシップ`・フィールドが 0 (ゼロ) に設定されていますが、これは新規の項目がまだどのグループにも属していないからです。
- `フラグ`・フィールドに、S---- を設定します。説明については、データベース項目のプライバシー・フラグを設定 を参照してください。
- `グループ作成割り当て量`フィールドは 20 に設定されています。これは、ユーザーが 20 個のグループを作成できることを意味します。このフィールドはマシン項目には関係ありません。詳しくは、グループ作成割り当て量の設定 を参照してください。

### 保護データベースにマシン項目を作成する

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts createuser コマンドを発行して、1 つまたは複数のマシン項目を作成します。

          % pts createuser -name <user name>+

   ここで、

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

   -name
     各マシン項目ごとに、小数点付き表記で IP アドレスを指定します。以下のリストで説明するワイルドカードを使用して、 1 つの項目により、単独のマシンまたは連続する IP Aアドレスを持つ複数のマシンを表すことができます。 W、X、Y、および Zの各文字は、フィールド
     - W.X.Y.Z は、単一マシンを表します。たとえば、 192.12.108.240 と表します。
     - W.X.Y.0 は、最初の 3 つの番号で始まる IP アドレスを持つすべてのマシンと一致します。たとえば、192.12.108.0 は、192.12.108.119 および 192.12.108.120 の両方と一致しますが、192.12.105.144 とは一致しません。
     - W.X.0.0 は、最初の 2 つの番号で始まる IP アドレスを持つすべてのマシンと一致します。たとえば、アドレス 192.12.0.0 は、192.12.106.23 および 192.12.108.120 の両方と一致しますが、192.5.30.95 とは一致しません。
     - W.0.0.0 は、最初の番号で始まる IP アドレスを持つすべてのマシンと一致します。たとえば、アドレス 192.0.0.0 は、192.5.30.95 および 192.12.108.120 の両方と一致しますが、138.255.63.52 とは一致しません。

     すべてのマシンと一致する名前 0.0.0.0 を持つマシン項目を定義しないでください。system:anyuser グループがこれに相当します。内の実際の値を表します。

下記の例では、192.12のネットワーク内のすべてのマシン用にマシン記入項目を作成します。

       % pts cu 192.12.0.0

## グループの作成

必ずグループ記入項目を作成してからでなければ、グループにメンバーを追加できません。この機能グループでは、通常のグループおよび接頭部を持たないグループの両方の作成方法を説明します。

- 通常グループ の名前の先頭には、以下の形式で、グループの所有者を示すプレフィックスが付きます。

  owner_name: group_name

  どのユーザーも通常グループを作成することができます。グループ名は、常にフルネームを入力しなければならないので、グループの用途またはそのメンバーの共通する関心を示す短い group_name が実際的です。terry:1 および terry:2 などのグループ名は、用途が不明確なため、あまり役に立ちません。通常グループ名の必須形式についての詳細は、 グループの作成方法 の説明を参照してください。

- 接頭部を持たないグループには、その名前が示唆するように、名前に 1 つのフィールドしかありません。これは、通常グループの group_name フィールドに相当します。

  system:administrators グループのメンバーだけが接頭部を持たないグループを作成することができます。接頭部を持たないグループの目的については、接頭部を持たないグループの使用 を参照してください。

デフォルトでは、保護サーバーは、次に使用可能な AFS GID を新規グループ項目に割り当てます。また、これを許可するのが最も良い方法です。AFS GID (負の整数) を自動的に割り当てるとき、保護サーバーは、 `max group id` カウンターを 1 ずつ減分して、その結果を新規グループに割り当てます。 AFS UID および GID カウンターの表示および設定に説明するように、pts listmaxコマンドを 使用して、カウンターを表示します。

名前および AFS GID のほかに、保護サーバーは、新規グループの項目の指定されたフィールドに、以下の値を記録します。保護データベース項目を表示する を参照してください。

- `所有者`フィールドに、pts creategroup コマンドの発行者、または -owner 引き数で指定したユーザーやグループを設定します。
- `作成者`フィールドに、pts creategroup コマンドを発行したユーザーのユーザー名を設定します。
- `メンバーシップ`・フィールドに、0 (ゼロ) を設定します。これは、グループに属するメンバーがまだないからです。
- `フラグ`フィールドに、S-M-- を設定します。説明については、データベース項目のプライバシー・フラグを設定 を参照してください。
- `グループ作成割り当て量`フィールドは 0 に設定されています。これは、このフィールドにはグループ項目の意味がないからです。

### グループの効果的な使用

グループを作成する主な理由は、グループを ACL に配置することです。これにより、複数のユーザーのアクセスを、ACL 上で個別にリストする必要なく制御することができます。グループの基本的な使用方法は 3 つあり、それぞれが異なる目的に適しています。

- 個人使用: グループに属しているメンバーに連絡する必要なく、ユーザーがグループを作成し、それを自分の ACL ディレクトリーに書き込むことができます。メンバーは、他のメンバーが特定の方法でそのディレクトリーにアクセスできるかどうかだけを通知します。所有者であるユーザーが、グループ全体に渡って単独で管理制御を保ってください。

  グループの存在およびそのメンバーの識別は、必ずしもシークレットである必要はありません。他のユーザーは、fs listacl コマンドを使用して、ACL のディレクトリーでグループの名前を参照したり、 pts membership コマンドを使用して、そのユーザー自体が属しているグループをリストすることができます。グループの 3 番目のプライバシー・フラグを設定して、誰が pts membership コマンドを使用してグループのメンバーシップをリストできるかを制限することができますが、それを行うことができるのは常に system:administrators グループのメンバーだけです。 データベース項目のプライバシー・フラグを設定 を参照してください。

- 共有使用: グループのメンバーに、そのメンバーがグループに属していることを通知しますが、依然として単独の管理者でもあります。たとえば、作業グループの管理者は、その作業グループのすべてのメンバーのグループを作成して、グループの他のメンバーと共有したい情報を収容するディレクトリーの ACL 上で、メンバーにその情報を使用させるようにします。

  注: | 自分の ACL に誰か別の人が所有しているグループを追加する場合は、その所有者が自分に知らせることなくそのグループのメンバーシップを変更することができます。したがって、誰か新しい人が、あなたが知らないうちに、あなたが意図しなかった方法でアクセスを取得することが可能です。

- グループ使用: グループを作成し、 pts chown コマンドを使用して、他のグループまたはそのグループ自体のいずれかの 1 つのグループに所有権を割り当てます (後者のタイプのグループは、自己所有 グループです)。グループを所有しているメンバーに、すべてのメンバーが、その所有するグループを管理できることを通知します。

  グループを所有者として指定することの主な利点は、複数のユーザー間で 1 つのグループを管理する責任を共有できることにあります。 1 人がすべての管理タスクを実行する必要がなく、また、元々の作成者がグループを抜けても、所有権を移す必要はありません。

  ただし、所有者グループのメンバーは誰でも、他のメンバーに悪影響を及ぼす変更を行うことができます。グループからメンバーを不当に追加または削除したり、グループの所有権を自分が独占できるように設定を変更したりすることができます。これらの問題は、自己所有のグループに特に要注意となる可能性があります。所有者グループを使用して最もうまくいくのは、メンバー全員がお互いによく知っており、信頼し合っている場合です。 1 つの所有者グループの人数を少なく保つのが賢い方法と言えるかもしれません。

### グループの作成方法

1. 接頭部を持たないグループを作成する場合、system:administrators グループに属していることを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts creategroup コマンドを発行して、各グループを作成します。グループのすべてが同じ所有者を持つことになります。

          % pts creategroup  -name <group name>+ [-owner <owner of the group>]

   ここで、

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

   -name
     作成する各グループを指定します。名前には最大 63 文字までの英小文字または数字を組み込むことができますが、句読文字、特にシェルにとって特別な意味を持つ文字は使用しないようにしてください。

     接頭部を持たないグループの名前に、コロン (:) を使用することはできません。コロンは、通常グループの名前の 2 つの部分を区切るために使用しているからです。

     owner_name: group_name

     保護サーバーでは、通常グループの owner_name プレフィックスがグループの所有者を示していなければなりません。デフォルトではユーザーは所有者として記録され、 owner_name には AFS ユーザー名が入っていなければなりません。 -owner 引き数を組み込み、owner_name フィールドに必要な値を指定して、他の AFS ユーザー、通常グループ、または接頭部を持たないグループを所有者として指定することができます。

     - 所有者がユーザーである場合、AFS ユーザー名でなければならない。
     - 所有者が他の通常グループである場合、所有しているグループのowner_name フィールドと一致していなければならない。たとえば、所有者がグループ terry:associates である場合、所有者フィールドは terry でなければなりません。
     - 所有者が接頭部を持たないグループである場合は、所有しているグループの名前でなければなりません。

     (あるグループが他のグループを所有していると便利な理由については、 グループの効果的な使用 を参照してください。)

   -owner
     オプションで、コマンドの発行者以外の所有者を示します。ユーザー名、またはすでに少なくとも 1 つのメンバーを持っている通常グループか接頭部を持たないグループのいずれかを指定します。 グループの効果的な使用 に説明するように、グループを自己所有にしたい場合は、この引き数を組み込まないでください説明については、自己所有グループを作成するを参照してください。

     グループの所有者としてマシンを指定しないでください。マシンは認証できないため、マシンがグループを管理する方法はありません。

### 自己所有グループを作成する

1. pts creategroup コマンドを発行して、グループを作成します。 -owner 引き数を組み込まないでください。グループを所有して所有権を再度割り当てる必要があるからです。説明については、グループの作成方法を参照してください。

          % pts creategroup  <group name>

2. pts adduser コマンドを発行して、 1 人または複数のメンバーをグループに追加します (他のグループを所有する前に、グループには、少なくとも 1 人のメンバーが既にいなければなりません)。詳細な説明については、グループ・メンバーの追加および削除を参照してください。

          % pts adduser -user <user name>+ -group <group name>+

3. pts chown コマンドを発行して、グループの所有権をそのグループ自体に割り当てます。詳細な説明については、グループの所有者を変更するを参照してください。

          % pts chown <group name> <new owner>

### 接頭部を持たないグループの使用

system:administrators のメンバーは、接頭部を持たないグループを作成することができます。このグループは、グループ使用 (グループの効果的な使用 で説明しています) に特に適しています。

たとえば、Example Corporation の会計部長である、ユーザー smith が、同社の会計士全員を組み込むグループを作成し、そのグループを、部門レコードを収容しているディレクトリーの ACL に配置したと仮定します。通常グループではなく、接頭部を持たないグループを使用するのが適当である理由には、以下があげられます。

- smith がグループを作成し、所有しているという事実は無関係です。また、通常グループは、smith:acctg と呼ばれなければなりません。acctg などのような接頭部名は、より適しています。
- 経理部長が smith から 別のユーザー (jones) に変わることがあれば、 jones がそのグループの新規所有者にならなければなりません。通常グループの場合、 owner_name 接頭部は自動的に jones に変更されますが、 owner_name 内の変更は、そのグループが所有するどの通常グループにも伝搬しません。誰かが pts rename コマンドを使用して、各ユーザーのowner_name の接頭部を smith から jones に変更する必要があります。

可能な解決策は、acctg という架空のユーザーに認証アカウントを作成し、そのユーザーを、owner_name の接頭部として acctg が付いている通常グループの所有者にすることです。ただし、acctg アカウントが他の目的にも使用されている場合、ユーザー acctg のパスワードを知る必要がある人数は、所有するグループを管理する必要がある人数より多くなります。

acctg という名前の接頭部を持たないグループは、不適切な所有者名の問題を解決します。そのグループが所有するグループは、 owner_name の接頭部が acctg であり、部長の名前を付けるよりもその目的が正確に反映されます。接頭部を持たないグループは、ダミーの認証アカウントよりも責任があります。グループに属すると、そのグループが ACL 上に所有しているアクセス権を個人個人が実行できますが、皆、ダミーのユーザー名よりも今まで通り自分の名前でタスクを実行します。グループが自己所有している場合でも、限られた人数だけがグループ記入項目を管理することができます。

## グループ・メンバーの追加および削除

ユーザーおよびマシンは、グループのメンバーであることができます。グループは他のグループに属することができません。新規に作成されたグループにはメンバーを持っていません。メンバーを追加するには、 pts adduser コマンドを使用します。メンバーを削除するにはpts removeuser コマンドを使用します。

### ユーザーおよびマシンをグループに追加するには

1. system:administrators グループに属することを確認します。このグループからは、 4 番目の (a) プライバシー・フラグの設定に関係なく、グループにメンバーを追加できます。デフォルトでは、グループの所有者も必要な特権を持っています。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts adduser コマンドを発行して、1 つまたは複数のメンバーを 1 つまたは複数のグループに追加します。

          % pts adduser -user <user name>+ -group <group name>+

   ここで、

   ad
     は、adduser の最も短い受け入れ可能な省略形です。

   -user
     -group 引き数によって指定された各グループのメンバーとして追加する、各ユーザー名またはマシンの IP アドレスを指定します。グループは他のグループに属することができません。

   group name
     新規メンバーを追加する各グループを指定します。

### ユーザーまたはマシンをグループから削除するには

1. system:administrators にグループに属することを確認します。このグループからは、 4 番目の (r) プライバシー・フラグの設定に関係なく、グループからメンバーを削除できます。デフォルトでは、グループの所有者も必要な特権を持っています。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts removeuser コマンドを発行して、1 つまたは複数のメンバーを 1 つまたは複数のグループから削除します。

          % pts removeuser -user  <user name>+  -group <group name>+

   ここで、

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

   -user
     -group 引き数によって指定した各グループから削除する各ユーザーまたはマシンの IP アドレスを指定します。

   -group
     メンバーを削除する各グループを指定します。

## 保護データベース項目の削除

保護データベースのユーザー項目は、完全なユーザー・アカウントを削除しているときのみ削除することが最も良い方法です。uss delete コマンドによる個別アカウントの削除 で説明するように uss delete コマンドを使用するか、またはユーザー・アカウントの削除 で説明するように pts delete コマンドを使用します。

マシンおよびグループ項目を削除するには、この機能グループで説明するように、pts delete コマンドを使用します。オペレーションの結果は次のとおりです。

- マシン項目を削除すると、その名前 (IP アドレスのワイルドカード) がグループから削除されます。
- グループ項目を削除すると、名前の代わりにその AFS GID が ACL 上に表示されます。このグループを作成したユーザーがもうそのグループを所有していなくでも、そのユーザーのグループ作成割り当て量が、1 つずつ増えます。

  使用されなくなった AFS ID を ACL から削除するには、 古くなった AFS ID を ACL から除去する で説明するように、fs cleanacl コマンドを使用します。

### 保護データベース項目を削除するには

1. system:administrators グループに属する、または削除するグループを所有することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts delete コマンドを発行して、保護データベースから 1 つまたは複数の項目を削除します。

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

   ここで、

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

   user or group name or id
     削除する各マシンの IP アドレスまたは AFS UID 、あるいは削除する各グループの名前または AFS GID を指定します。

## グループの所有者を変更する

ユーザーおよびマシン項目を作成するときに、保護サーバーは、その所有権を system:administrators グループに自動的に割り当てます。これは変更することができません。グループ項目の場合、所有権を変更できます。これにより、その所有権に対する管理責任を他のユーザーまたはグループに移すことができます (他のグループのグループ所有権については、グループの効果的な使用 を参照してください)。

通常グループを作成するとき、グループの owner_name 接頭部は、グループの作成方法 に説明するように、その所有者を正確に反映していなければなりません。

- 所有者がユーザーである場合、owner_name はユーザー名である。
- 所有者が通常グループである場合、owner_name は、所有しているグループの owner_name 接頭部と一致していなければならない。
- 所有者が接頭部を持たないグループである場合、owner_name は、所有者のグループの名前でなければなりません。

通常グループの所有者を変更するときは、保護サーバーは、その名前の owner_name 接頭部を自動的に適切に変更します。たとえば、ユーザー pat がグループ terry:friendsの新規所有者になる場合、その名前は、保護データベースおよび ACL の両方で pat:friends に自動的に変わります。

ただし、保護サーバーは、そのグループが所有する通常サーバーの owner_name 接頭部をどれも自動的に変更しません。前の例の続きで、グループ terry:friends がグループ terry:pals を所有していると考えてください。pat が terry:friends の新規所有者になっても、 terry:pals は変わりません。他のグループが所有する通常グループの owner_name 接頭部を変更する (この例では、グループ名を pat:pals に変更する) には、 保護データベース項目の名前の変更 で説明するように、pts rename コマンドを使用します。

### グループの所有者を変更する

1. system:administrators グループに属する、または所有者を変更するグループを所有することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. (オプション) グループの所有者を別のグループ (またはそのグループ自身) に変更して、所有されたグループの管理特権を保存したい場合、ユーザーがその新規所有者グループに属していることを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、グループ・メンバーシップを表示する を参照してください。

          % pts membership <user or group name or id>

   ユーザーおよびマシンをグループに追加するにはに詳しく説明されているように、pts adduser コマンドを発行します。

          % pts adduser <user name> <group name>

3. pts chown コマンドを発行して、グループの所有者を変更します。

          % pts chown <group name> <new owner>

   ここで、

   cho
     は、chown の最も短い受け入れ可能な省略形です。

   group name
     そのグループの現在の名前を指定します。

   new owner
     そのグループの所有者になるユーザーまたはグループを指定します。
4. (オプション)。pts listowned コマンドを発行して、ユーザーが所有する任意のグループを表示します。この機能グループの概説で説明したように、pts chown コマンドは、グループが所有する通常サーバーの owner_name 接頭部をどれも自動的に変更しません。

          % pts listowned <user or group name or id>

   接頭部を新規に所有するグループに一致させて変更したい場合は、 マシンまたはグループ項目の名前を変更するには で説明するように、pts rename コマンドを 1 つごとに使用します。

          % pts rename <old name> <new name>

## 保護データベース項目の名前の変更

保護データベース項目の名前を変更するには、pts rename コマンドを使用します。ユーザー項目の名前は、ユーザー・アカウント全体の名前を変更するときにのみ変更するのが最も良い方法です。アカウントの非常に多くのコンポーネント (認証データベース項目、ボリューム名、ホーム・ディレクトリーのマウント・ポイントなど) がその名前を共有しているからです。説明については、ユーザー名の変更を参照してください。マシン項目の名前は、1 つまたは複数のマシンの実際の IP アドレスにマップするので、項目の名前の変更は、IP アドレスが変更された場合にのみ適切です。

その場合は、最も頻繁にグループ名の変更が必要なときです。可能な名前変更のタイプを以下に示します。

- 通常グループの名前を別のグループの名前に変更する。このタイプの変更に共通する理由は、グループのpts chown コマンドを使用して所有者を変更したことです。このオペレーションでは、名前が変更されたグループに所有される通常グループの owner_name 接頭部は変更されません。したがって、pts rename コマンドを使用して、適切に変更する必要があります。たとえば、ユーザー pat が terry:friends グループの所有者になると、その名前は、自動的に pat:friends に変更されますが、このユーザーが所有するグループの名前 terry:pals は変更されません。pts rename コマンドを使用して、 terry:pals を pat:pals に名前変更します。保護サーバーは、実際の所有権を反映しない owner_name 接頭部への変更を受け入れません (terry:pals を smith:pals に変更することはできません)。

  pts rename コマンドを使用して、owner_name 接頭部を変更または変更なしで、通常グループ名の group_name 部分を変更することもできます。

  ただし、グループの所有者および system:administrators グループのメンバーは、その名前を別の通常グループの名前に変更することができます。

- 通常グループの名前を接頭部を持たないグループの名前に変更する。グループの名前をこの方法で変更する場合、 pts rename コマンドを使用して、そのグループが所有するすべての通常グループの名前も変更する必要があります。 system:administrators グループのメンバーだけがこのタイプの名前変更を行うことができます。
- 接頭部を持たないグループの名前を別の接頭部を持たないグループの名前に変更する。他の名前の変更と同様に、接頭部を持たないグループが所有する通常グループの owner_name 接頭部はいずれも自動的には変更されません。整合性を保つには、これに pts rename コマンドを発行する必要があります。

  グループの所有者および system:administrators グループのメンバーは、どちらも、その名前を別の接頭部を持たないグループの名前に変更することができます。

- 接頭部を持たないグループの名前を通常グループの名前に変更する。新規の名前の owner 接頭部は、必ずそのグループの所有権を正確に反映していなければなりません。他の名前の変更と同様に、接頭部を持たないグループが所有する通常グループの owner_name 接頭部はいずれも自動的には変更されません。整合性を保つには、これに pts rename コマンドを発行する必要があります。

  system:administrators グループのメンバーだけがこのタイプの名前変更を行うことができます。

### マシンまたはグループ項目の名前を変更するには

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts rename コマンドを発行して、項目の名前を変更します。

          % pts rename <old name> <new name>

   ここで、

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

   old name
     項目の現在の名前を指定します。

   new name
     新規の名前を指定します。通常グループに対する新規の名前である場合、owner_name 接頭部は、所有者を正しく示していなければなりません。

## グループ作成割り当て量の設定

システム資源の濫用を防ぐため、保護サーバーは、 グループ作成割り当て量 を課して、ユーザーがあとどれだけグループを作成できるかを制限します。新規ユーザー項目が作成されるとき、割り当て量は 20 ですが、system:administrators グループのメンバーは、 pts setfields コマンドを発行して、割り当て量をいつでも増加または減少させることができます。

マシンまたはグループ項目に対する割り当て量を変更するのは、無意味です。グループまたはマシンとして認証して、その後グループを作成することはできません。

グループ作成割り当て量を表示するには、保護データベース項目を表示する で説明するように、 pts examine コマンドを使用して、ユーザー項目の `グループ割り当て量`フィールドを表示します。

### グループ作成割り当て量を設定する

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts setfields コマンドを発行して、1 つまたは複数の各ユーザーがあといくつグループを作成できるかを指定します。

         % pts setfields -nameorid <user or group name or id>+  \
                         -groupquota <set limit on group creation>

   ここで、

   setf
     は、setfields の最も短い受け入れ可能な省略形です。

   -nameorid
     は、グループ作成割り当て量を設定する各ユーザーの名前または AFS UID を指定します。

   -groupquota
     各ユーザーが、既存のグループに加えて作成できるグループの数を定義します(言いかえると、既にあるグループは割り当て量に不利になりません)。指定した値は、現在の値に加算されるのではなく、現在の値に上書きされます。

## データベース項目のプライバシー・フラグを設定

system:administrators グループのメンバーは、保護データベース項目を常にどのようにでも表示および管理することができます。通常ユーザーは、その独自の項目およびそのユーザーが所有する任意のグループ項目を表示および管理することができます。保護データベース項目のプライバシー・フラグ は、他のユーザーが項目から特定の情報を表示できるか、およびグループ内のメンバーを追加および削除できるかを指定します。

フラグを表示するには、pts examine コマンドを使用します (保護データベース項目を表示する を参照)。フラグは、出力の `flags` フィールドに表示されます。フラグを設定するには、pts setfields コマンドに -access 引き数を組み込みます。

常に、5 つのフラグが表示され、常に、以下の順序で設定しなければなりません。

s
  項目を表示する pts examine コマンドを発行できるユーザーを制御します。

o
  ユーザーまたはグループが所有するグループを表示する pts listowned コマンドを発行できるユーザーを制御します。

m
  ユーザーまたはマシンが属しているグループ、またはどのユーザーまたはマシンがグループに属しているかを表示するために pts membership コマンドを発行できるユーザーを制御します。

a
  ユーザーまたはマシンをグループに追加するために pts adduser コマンドを発行できるユーザーを制御します。これは、グループに対してのみ意味を持ちますが、ユーザーおよびマシン項目についても常に値を設定する必要があります。

r
  ユーザーまたはマシンをグループから削除するために pts removeuser コマンドを発行できるユーザーを制御します。これは、グループに対してのみ意味を持ちますが、ユーザーおよびマシン項目についても常に値を設定する必要があります。

各フラグは、3 つのタイプの値を使用して、さまざまなユーザーのセットが、対応するコマンドを発行できるようにします。

- ハイフン (-) は、system:administrators グループのメンバーおよび項目の所有者を示します。ユーザー項目の場合、ハイフンは追加のユーザーを示します。
- 英小文字は、グループにのみ効果的に適用され、ハイフンで示される個々のメンバーに追加するグループのメンバーを示します。
- 英大文字は、全員を示します。

たとえば、グループ項目に対するフラグ `SOmar` は、誰でもグループの項目を調べることができ、それが所有するグループを表示することができるということ、およびそのグループのメンバーだけがそのメンバーを表示、追加、または削除できるということを示します。

ユーザーおよびマシン項目に対するデフォルトのプライバシーは、`S----` です。これは、誰でもその項目を表示できることを意味します。その他の機能を実行する権限は、 system:administrators グループのメンバーおよびその項目の所有者に制限されます (ユーザー項目のユーザーと同様に)。

グループ項目に対するデフォルトのプライバシーは、`S-M--` です。これは、すべてのユーザーが項目を表示し、グループのメンバーを表示できることを意味しますが、その他の機能を実行できるのは、項目の所有者およびsystem:administrators グループのメンバーだけです。

### 保護データベース項目のプライバシー・フラグを設定する

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. pts setfields コマンドを発行して、プライバシー・フラグを設定します。

          % pts setfields <user or group name or id>+ -access <set privacy flags>

   ここで、

   setf
     は、setfields の最も短い受け入れ可能な省略形です。

   user or group name or id
     プライバシー・フラグを設定する、各ユーザーの名前または AFS UID、各マシンの IP アドレスまたは AFS UID、あるいは各グループの名前または AFS GID を指定します。

   -access
     各項目に対応するようなプライバシー・フラグの設定を指定します。以下の制約に従い、5 つの各フラグに値を指定します。
     - 4 番目と 5 番目のフラグはユーザーおよびマシン項目には意味を持たないが、 5 つのフラグすべてに値を指定する。
     - 自己所有グループの場合、ハイフンは英小文字に相当するものとして解釈されます。自己所有グループのメンバーがすべて英小文字を持つからです。
     - 最初のフラグには、英小文字 s または英大文字 S のみを設定する。ユーザーおよびマシン記入項目に関しては、保護サーバーは、英小文字の s はハイフンと同じものとして解釈します。
     - 2 番目のフラグには、ハイフン (-) または英大文字 O のみを設定する。グループの場合、保護サーバーは、ハイフンを英小文字 o (すなわち、グループのメンバーは常にそのグループが所有するグループをリストできる) として解釈します。
     - 3 番目のフラグにはハイフン (-)、英小文字 m、または英大文字 M を設定する。ユーザーおよびマシン項目に関しては、メンバーを持たないので、英小文字 m は意味のある解釈がありません。
     - 4 番目のフラグには、ハイフン (-)、英小文字 a、または英大文字 A を設定する。このフラグはユーザーおよびマシン項目に関しては意味のある解釈がありませんが (これらの項目はメンバーを持たないため)、できればハイフンに設定してください。
     - 5 番目のフラグには、ハイフン (-) または小文字の r のみを設定する。このフラグはユーザーおよびマシン項目に関しては意味のある解釈がありませんが (これらの項目はメンバーを持たないため)、できればハイフンに設定してください。

## AFS UID および GID カウンターの表示および設定

pts createuser コマンドを使用して、保護データベースにユーザーまたはマシン項目を作成するとき、保護サーバーは、AFS ユーザー ID (AFS UID) をデフォルトで自動的に項目に割り振ります。同様に、 pts creategroup コマンドによって作成する各グループ項目に対しても、デフォルトで、 AFS グループ ID (AFS GID) を割り振ります。保護データベースは、次に使用可能な AFS UID (正の整数) および AFS GID (負の整数) を、それぞれ、`max user id` および `max group id` カウンターによって追跡します。

system:administrators グループのメンバーは、 -id 引き数をいずれかのpts 作成コマンドに組み込み、新規ユーザー、マシン、またはグループに特定の ID を割り当てることができます。 一致する AFS と UNIX UID の割り当て で説明するように、既存の UNIX アカウントを持つユーザーに対して AFS アカウントを作成するとき、 AFS UID を明示的に割り当てると効果的であることがよくあります。また、部門提携 (たとえば、300 から 399 までのAFS UID をある部門のメンバーに割り当て、 400 から 499 までのAFS UID を別の部門に割り当てる、など) に対応する ID の範囲を設定したい場合にも便利です。

カウンターの現在の値を表示するには、 pts listmax コマンドを使用します。次にユーザーまたはマシン項目を作成するときに AFS UID を指定しないと、保護サーバーは、 `max user id` カウンターを 1 ずつ増分して、その値を新規項目に割り当てます。新規グループを作成するときに AFS GID を指定しないと、保護サーバーは、 `max group id` カウンターを 1 ずつ減分して (負の数が大きくなります)、その値を新規グループに割り当てます。

いずれか一方または両方のカウンター値を、以下の 2 つの方法のうち 1 つを使用して変更することができます。

- 直接、pts setmax コマンドを使用する。
- 間接的に、pts createuser コマンドに -id 引き数を使用して、 `max user id` カウンターよりも大きい AFS UID を割り当てることによって、または pts creategroup コマンドに -id 引き数を使用して、 `max group id` カウンターより小さい (より負) AFS GID を割り当てることによって変更する。どちらの場合も、保護サーバーは、カウンターを -id 引き数の値に変更します。管理者がpts setmax コマンドを使用して古い値に戻さない限り、保護サーバーは、カウンターの古い値と新規の値の間の ID を使用することはありません。

  -id 引き数によって指定した値が、`max user id` カウンターより小さい場合、または `max group id` カウンターより大きい (より負) 場合、カウンターは変更されません。

### AFS ID カウンターを表示する

1. pts listmax コマンドを発行して、カウンターを表示します。

          % pts listmax

   ここで、listm は、listmax の受け入れ可能な省略形です。

以下の例は、出力の形式を示しています。この場合、次に自動的に割り当てられる AFS UID は 5439 で、AFS GIDは -469 となります。

       % pts listmax
       Max user id is 5438 and max group id is -468.

### AFS ID カウンターを設定する

1. system:administrators グループに属することを確認します。必要な場合には、pts membership コマンドを発行してください。このコマンドの詳細は、system:administrators グループのメンバーの表示 を参照してください。

          % pts membership system:administrators

2. `max user id` カウンター、`max group id` カウンター (あるいはその両) を設定するには、pts setmax コマンドを発行します。

          % pts setmax [-group <group max>] [-user <user max>]

   ここで、

   setm
     は、setmax の最も短い受け入れ可能な省略形です。

   -group
     保護サーバーが次のグループ項目に割り当てる予定の AFS GID よりも 1 大きい整数 (より負) を指定します。値は負の整数ですから、ハイフン (-) が先頭に付きます。

   -user
     保護サーバーが次のユーザーまたはマシン項目に割り当てる予定の AFS UID よりも 1 少ない整数 (より負) を指定します。

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

(C) IBM Corporation 2000. All Rights Reserved