p4 group

ユーザをグループに追加、またはグループから削除します。 または、グループのメンバーに対するmaxresultsmaxscanrowsmaxlocktimeおよびtimeoutの各制限を設定します。

構文規則

p4 [g-opts] group [-a | -A] groupname
p4 [g-opts] group -d [-a | -F] groupname
p4 [g-opts] group -o groupname
p4 [g-opts] group -i [-a | -A]

説明

グループは、 Helixサーバユーザのリストです。 以下の処理を行う場合に、グループを使用します。

  • p4 protectコマンドでアクセスレベルを設定する
  • 特定のユーザが単一のコマンドで Helixサーバから取得できるデータの 最大量を制限する
  • p4 loginチケットのタイムアウト期間を設定する
  • p4 ldapsyncコマンドに対して情報を指定する

グループを削除するには、p4 group -d groupnameを実行するか、 p4 group groupnameを起動して、表示されたフォームからユーザ全員を消去します。

プロテクションテーブルとすべてのグループから特定のグループを強制的に削除するには、 -Fオプションと-dオプションを指定します。

ヒント

グループとユーザで同じ名前を使用することができます。例えば、グループとユーザで「charlotte」という名前を使用すると、以下に示すグループとユーザの両方が参照されます。

  • 「Charlotte」という市に住んでいるメンバーが属しているグループ
  • 「Charlotte」という名前のユーザ

ユーザ名とグループ名では個別のネームスペースが使用されるため、こうした動作が可能になります。

重要

グループ仕様の例」に記載されているように、サーバ間通信を行うサービスユーザは、Timeout:フィールドの値がunlimitedに設定されているグループに属している必要があります。こうしたグループに属していない場合、サービスユーザのチケットが無効になり、複製を実行できなくなる可能性があります。サービスユーザの詳細については、「p4 user」トピックの「ユーザのタイプ」を参照してください。

フォームフィールド

フィールド名 タイプ 説明

Group:

読み取り専用

コマンドライン上で入力されたグループ名。

MaxResults:

書き込み可能

グループのメンバーが1つのコマンドでサービスからアクセスできるデータの最大件数。 デフォルト値はunsetです。 「使用上の注意点」を参照してください。

MaxScanRows:

書き込み可能

グループのメンバーがサービスから、1つのコマンドでスキャンできる列の最大数。 デフォルト値はunsetです。 「使用上の注意点」を参照してください。

MaxLockTime:

書き込み可能

データスキャンの際、ある1つの操作で任意のデータベーステーブルを ロックすることのできる最長時間(ミリ秒単位)。デフォルト値はunsetです。 「使用上の注意点」を参照してください。

MaxOpenFiles:

書き込み可能

グループ内のメンバーが1つのコマンドを使用して作業状態にすることができる ファイルの最大数。「使用上の注意点」を参照してください。

Timeout:

書き込み可能

p4 loginによって作成されるセッションチケットが有効である期間(秒単位)。 デフォルト値は43,200秒(12時間)です。

複数のグループに属しているユーザの場合、unsetが無視され、そのユーザが属しているグループの最大のtimeout値が使用されます。

有効期限が無期限のチケットを作成するには、 Timeout:フィールドをunlimitedに設定します。「使用上の注意点」を参照してください。

PasswordTimeout:

書き込み可能

このグループに属するユーザのパスワードの有効期間(秒単位)。

値を「unset」に設定すると、パスワードの有効期間が無期限になります。

  • どのグループにも属していないユーザの場合、デフォルト値として「unset」が設定されます。
  • 複数のグループに属しているユーザの場合、それらのグループで設定されているPasswordTimeout値のうち、最も大きな値が使用されます。

使用上の注意点」を参照してください。

LdapConfig

書き込み可能

LDAPクエリからグループのユーザのリストを作成するときに使用する LDAPコンフィギュレーション。詳細については、「p4 ldapsync」を参照してください。

LdapSearchQuery

書き込み可能

グループのメンバーの識別に使用するLDAPクエリ。詳細については、「p4 ldapsync」を参照してください。

LdapUserAttribute

書き込み可能

ユーザの名前を表すLDAP属性。詳細については、「p4 ldapsync」を参照してください。

Subgroups:

書き込み可能、複数行

他のHelixサーバグループの名前。 既に定義済みのグループのユーザ全員を作業中のグループに追加するには、 p4 groupのフォームのSubgroups:フィールドで、 そのグループ名を指定します。 Subgroups:フィールドに入力される、あらかじめ定義されたグループの すべてのメンバーが、これから定義しようとしているグループのメンバーになります。

Owners:

書き込み可能、複数行

他のHelixサーバユーザの名前。

super権限のないグループ所有者であっても、-aオプションを使用すれば、 このグループの管理が許可されます。

グループの所有者は必ずしもグループのメンバーでなくても構いません。 グループ所有者をグループのメンバーにするには、useridUsers:フィールドに 追加する必要があります。

注意

指定する所有者は、 Helixサーバユーザである必要はありません。 ユーザがまだ存在していないため任意の名前を使用する場合や、 ユーザを削除してから仕様を新しいユーザに割り当てるまでの プレースホルダーが必要となる場合があります。

Users:

書き込み可能、複数行

グループメンバーの Helixサーバユーザ名。 1行につき1つのユーザ名を指定し、各ユーザ各をインデントする必要があります。

オプション

-a

(スーパーユーザではない)グループ所有者によるグループの管理を可能にします。 そのユーザは、グループのOwner:フィールドにリストされていなければなりません。

-A

admin権限のあるユーザに、新しいグループの追加を許可します。 このオプションが使用されている場合、既存のグループは変更できません。

-d groupname

グループgroupnameを削除します。グループのメンバーは、 このグループ削除の結果としてアクセスレベルまたはmaxresults値が 変化する場合にのみ影響を受けます。

-F groupname

このフラグを指定する場合は、-dフラグも指定する必要があります。 このフラグを使用すると、指定したグループが強制的に削除されます。 また、プロテクションテーブルとすべてのグループからも、そのグループが削除されます。

-i

エディタを起動せずに、標準入力からフォームを読み込みます。 新しいグループ仕様がそれまでの仕様に置き換わります。

-o

ユーザのエディタを起動することなく、標準出力にフォームを書き出します。

g-opts

グローバルオプション」を参照してください。

使用上の注意点

ファイル引数でリビジョン指定子を使用できるか? ファイル引数でリビジョン範囲を使用できるか? 最低限必要なアクセスレベル

適用外

適用外

super
(admin for p4 group -A)
(list for p4 group -o or -a)

  • グループ定義の中で(存在しない)ユーザを記述しても、ユーザは作成されず、 ライセンスも消費されません。ユーザを作成するには、 p4 userコマンドを使用します。
  • 複数のグループに属するユーザのチケットの TimeoutPasswordTimeoutの値は、maxresults値と同様の方法で計算されます。 つまり、そのユーザが属するすべてのグループのtimeout値のうち (unlimitedは含めるがunsetは無視して) 最大の値が設定されます。どのグループにも属さないユーザには、 デフォルトのチケットのTimeout値に43200が設定され、 PasswordTimeoutunsetが設定されます。 無期限のチケットを作成するには、Timeoutunlimitedに設定します。
  • PasswordTimeout:フィールドを使用してパスワード有効期限を設定する場合、 30日間でのタイムアウトは2,592,000秒です。
  • ディポに保存されているファイルの数が増えてくると、ある種のコマンドをパラメータなしで、 あるいは制限のない引数を付けて実行したときに、サービスの動作が 大幅に遅くなることがあります。例えば、p4 print //depot/...は、ディポに保存されている あらゆるファイルの内容をユーザの画面上に表示し、p4 filelog //depot/...は、ディポに保存されているあらゆるファイルの あらゆるリビジョンにおいて、データを取り込もうとします。

    Helixサーバスーパーユーザは、 ユーザのグループについて MaxResults値を設定することにより、 Helixサーバがユーザに返すデータの量を 制限することができます。 MaxScanRows値を設定することにより、スキャンされるデータの量(ユーザに返されるか 返されないかにかかわらず)を制限することもできます。また、MaxLockTime値により、 ある1つの操作で任意のデータベーステーブルをロックすることができる 時間の長さを設定することができます。 同様に、MaxOpenFilesフィールドを設定して、グループメンバーが任意の タイミングで作業状態にすることができるファイルの最大数を 指定することもできます。

    MaxResultsMaxScanRowsMaxLockTimeMaxOpenFilesのいずれかの値を超えた場合、 サーバへの要求が拒否され、ユーザによる問合せが制限されます。

    ユーザが複数のグループに属している場合、サーバは、そのユーザが 属しているすべてのグループに対するMaxResults値の最大値を そのユーザのMaxResults値として計算します (設定値unlimitedに遭遇すると制限は削除されますが、デフォルト値unsetのままである 設定は無視されます)。 どのグループにも属さないユーザがいる場合、そのMaxResults値はunsetになります。 (そのユーザのMaxScanRowsMaxLockTimeMaxOpenFilesの制限も、 同じ方法で計算されます)

    通常のハードウェアの処理速度では、 MaxResultsを10,000以下に設定したり、 MaxScanRowsを50,000以下に設定したり、 MaxLockTimeを1,000以下に設定したりする必要はありません。

    一部のコマンドでは、これらの制限をコマンド単位で指定することにより、 ユーザ自身が制限を設定することができます。コマンド単位で指定した値により、 p4 groupコマンドで設定した値がオーバーライドされます。 p4groupコマンドで設定した値が上書きされないようにするには、server.commandlimits=2を設定します。

  • ワークスペースまたはラベルのアンロードを行うには、ユーザがワークスペースの 所有リストにあるすべてのファイルおよび/またはラベルによってタグ付けされている ファイルをスキャンすることが可能でなければなりません。管理者はMaxScanRowsおよびMaxResultsを十分な大きさの値に設定して、 ユーザがp4 unloadまたはp4 reloadの操作にサポートを 要求せずに済むようにする必要があります。
  • 特定のグループのmaxresultsmaxscanrowsmaxlocktimetimeoutの制限を表示するには、 p4 groups -v groupnameを使用します。
  • p4 help maxresultsを使用すると、これら4つの制限値のいずれかによって 影響を受けるコマンドのリストを取得することができます。
  • 詳細については、『Helix Coreサーバ管理者ガイド』に記載されている以下のトピックも参照してください。

グループ仕様の例

この例では、サービスユーザをグループ化し、接続やパスワードの有効期限によってサービスユーザがブロックされることがないようにする場合のベストプラクティスについて説明します。

$ p4 group service_users

グループ内のUsers:のリストにservice1を追加し、 Timeout:の値とPasswordTimeout:の値を「unlimited」に設定します。

Group:            service_users
Timeout:          unlimited
PasswordTimeout:  unlimited
Subgroups:
Owners:
Users:
        service1

関連コマンド

ユーザのアクセスレベルを変更する

p4 protect

既存グループのリストを参照する

p4 groups

LDAPとHelixサーバのグループを同期する

p4 ldapsync