p4 user

Helixサーバのユーザ仕様とプリファレンスを作成、編集、または削除します。

構文規則

p4 [g-opts] user [-f] [username]
p4 [g-opts] user -d [-f | -F] username
p4 [g-opts] user -D [-f | -y] username
p4 [g-opts] user -o [username]
p4 [g-opts] user -i [-f]

説明

p4 userコマンドを使用して、ユーザの仕様や設定を編集したり、 新しいユーザレコードを作成したりすることができます。

警告

デフォルト設定の場合、不明なユーザがリポジトリ(またはリポジトリのメタデータ)を更新するコマンドを起動するたびに、Helixサーバによって新しいユーザが作成されます。 Helixサーバのスーパーユーザがdm.user.noautocreate構成可能変数を使用して、この動作を禁止することをお勧めします。 『Helix Coreサーバ管理者ガイド』の「セキュリティを確保するための構成可能変数の推奨設定」を参照してください。

プロテクションテーブルにエントリが登録されていない状態でも、ユーザやグループを作成できますが、プロテクションテーブル内にユーザやグループに適用されるエントリが追加されるまで、そのユーザやグループはコマンドを実行することはできません。ファイル、ディレクトリ、コマンドに対するアクセスを制御する権限は、p4 protectの権限レベル(listreadwriteadminsuperなど)が設定されているuserまたはgroupに割り当てられます。

usernameオプションを指定せずにp4 userコマンドを実行すると、現在のユーザの仕様(Reviews:フィールドなど)を編集することができます。

usernameを指定して実行した場合は、 ユーザ仕様は表示されますが変更はできません。 P4EDITOR環境変数で定義したエディタに フォームが表示されます。

Helixサーバスーパーユーザは、 新規のユーザを作成したり、-f(強制)オプションを使用して既存のユーザの仕様を編集したりすることができます。 その場合の構文はp4 user -f usernameです。-fオプションと-Fオプションは、どちらもユーザを削除する場合に指定できますが、 -Fオプションは、プロテクションとグループに影響することに注意してください。 以下のオプションを参照してください。

Helixサーバコマンドを発行するユーザと、 コマンド実行の名義者となるユーザとは、必ずしも同じではありません。 特定のコマンドを実行するユーザは、次のように決定されます。

  • コマンドを実行するユーザが Helixサーバスーパーユーザであり、 かつ構文p4 user -f usernameを使用する場合は、 ユーザusernameが編集されます。
  • コマンドラインで-u usernameオプションが使用される場合(例えば、p4 -u joe submit)、 コマンドは「joe」というユーザ名で実行されます(パスワードが必要になる場合もあります)。
  • このオプションを指定しなくても、 環境変数P4CONFIGで指定したファイルにP4USERの設定が含まれている場合、 コマンドは該当ユーザ名で実行されます。
  • -u usernameオプションも使用されず、ファイルも指定されていない場合でも、 環境変数P4USERが設定されていれば、コマンドは該当ユーザ名で実行されます。
  • 上記のいずれにも当てはまらない場合、OSレベルの環境変数であるUSERまたは USERNAMEからユーザ名が取得されます。
注意

ユーザが組織を退職しているような場合、管理者は-Dオプションを使用すると便利です。このオプションは指定したユーザを削除するのみでなく、そのユーザに関連付けられているすべてのクライアントワークスペースを削除します。

オプションおよびを参照してください。

ユーザのタイプ

重要

ユーザタイプは一度設定すると、変更できません。

標準ユーザ
  • これがデフォルトです。以下のユーザが標準ユーザになります。
    • エンドユーザ
    • adminアクセスレベルを持つユーザ
    • superアクセスレベルを持つユーザ(Helix Coreの「スーパーユーザ」と呼ばれます)
  • 標準ユーザはそれぞれ1つずつ Helixサーバライセンスを消費します

デフォルト設定の場合、 存在しないユーザがコマンドを発行するたびに、 Helixサーバによって新しいユーザレコードが作成されます。 Helixサーバのスーパーユーザは、以下のように -fフラグ(強制フラグ)を指定して、 新しいユーザを作成することもできます。

$ p4 user -f username

フォームフィールドに作成するユーザに関する情報を入力します。

p4 userコマンドには、フォームエディタを使用せずに 標準入力できるオプション(-i)もあります。 多数のユーザをすばやく作成するには、ユーザデータを読み取り、 p4 userフォームによって使用されるフォーマットで出力を生成し、 生成された各フォームをp4 user -i -fに渡すスクリプトを 作成します。

標準ユーザの権限

プロテクションテーブルにエントリが登録されていない状態でも、ユーザやグループを作成できますが、プロテクションテーブル内にユーザやグループに適用されるエントリが追加されるまで、そのユーザやグループはコマンドを実行することはできません。詳細については、「p4 protect」を参照してください。

オペレータユーザ
サービスユーザ
  • 複製環境とマルチサーバ環境でサーバ間通信を行うユーザです。 サービスユーザは、以下の操作を行うことができます。
    • サーバログの解析作業を簡素化する

    • 現在のインストール環境で、リモートのPerforceサービスが有効なログインチケットを使用して ローカルのサービスと通信するように設定することにより、 セキュリティを許可する

  • ライセンスは消費しません
  • 使用できるコマンドは、以下のコマンドだけに制限されます。
  • p4 dbschema

    p4 export

    p4 login

    p4 logout

    p4 passwd

    p4 info

    p4 user

       
注意

サービスユーザは、コマンドラインで直接p4 pullコマンドやp4 journalcopyコマンドを実行することはできませんが、レプリカサーバ上のサービスユーザは、自動的にこれらのコマンドを実行して、マスターサーバからメタデータとアーカイブコンテンツ(バージョンファイル)を取得することができます。

サービスユーザを作成するには、次のコマンドを実行します。

$ p4 user -f service1

標準のユーザフォームが表示されます。新しい行を入力して新しいユーザのType:serviceに設定します。

User:      service1
Email:     services@example.com
FullName:  Service User for remote depots
Type:      service

デフォルト設定の場合、p4 usersコマンドを実行しても、サービスユーザは表示されません。 サービスユーザを含めるには、p4 users -aを実行します。

ヒント

グループ内にサービスユーザを含めることをお勧めします。詳しくは「p4 group」トピックを参照してください。

サービスユーザの権限

サービスユーザにsuper権限を付与するには、 サーバ上でp4 protectを使用します。サービスユーザが実行できるコマンドは 非常に制限されているため、super権限を付与しても問題ありません。 リモートディポとコードドロップについてのみサービスユーザを使用する場合は、 『Helix Coreサーバ管理者ガイド』の「リモートディポへのアクセスを制限する」の説明に従い ユーザ権限をさらに制限することができます。

注意

サービスユーザが必要になる環境について詳しくは、『Helix Coreサーバ管理者ガイド』の「展開アーキテクチャ」と「リモートディポとマルチサーバ展開」を参照してください。

フォームフィールド

フィールド名 タイプ 説明

User:

読み取り専用

p4 userを起動した Helixサーバユーザ名です。 デフォルトは、 システムで使用されているユーザ名です。

ファイル名とエンティティに関する文字の制限に 注意してください。

Type:

読み取り専用

ユーザのタイプ: standardoperator、 またはservice

重要

ユーザの作成後に、そのユーザのタイプを変更することはできません。

AuthMethod:

書き込み可能

次のいずれか1つになります。 perforceまたはldap。 このフィールドを変更できるのは、p4 userコマンドに対して-fオプションが指定されている場合のみになります。

  • perforceを指定すると、 Helixサーバの内部テーブルdb.user または認証トリガを使用した認証が有効になります。 構成可能変数auth.default.methodでオーバーライドされない場合は、 これがデフォルトになります。
  • ldapを指定すると、 現在アクティブなLDAP構成で指定されているAD/LDAPサーバに対する認証が有効になります。

Email:

書き込み可能

ユーザの電子メールアドレス。 デフォルトはuser@clientです。

Update:

読み取り専用

この仕様が最後に更新された日時。

Access:

読み取り専用

このユーザが最後に Helixサーバコマンドを実行した日時。

FullName:

書き込み可能

ユーザの氏名。

JobView:

書き込み可能

すべての新しいチェンジリストに自動的に表示されるジョブの説明 (「使用上の注意点」を参照してください)。

Password:

書き込み可能

ユーザのパスワード(「使用上の注意点」を参照してください)。

PasswordChange:

読み取り専用

ユーザが最後にパスワードを変更した日時。 ユーザにパスワードがない場合、このフィールドは空白です。

Reviews:

書き込み可能リスト

ユーザが参照するファイルのリスト(「使用上の注意点」を参照してください)。 このフィールドには、除外マッピングを指定できます。

ヒント

フィールドの下に行がある場合は、その行をインデントしてください。以下に例を示します。

Reviews://depot/path/to/directory1/... //maria/depot/path/to/directory1/...    
    //depot/path/to/directory2/... //maria/depot/path/to/directory2/...

オプション

-d username

指定されたユーザを削除します。このオプションを指定できるのは、以下のユーザです。

  • Helixサーバのスーパーユーザ(-fオプションも指定する必要があります)

  • usernameオプションの値が自分のusernameと一致しているユーザ

P4AUTHを設定した場合、 オープンファイルまたはクライアントを持っているユーザが削除されても警告が表示されません。

-D username

このオプションを使用して以下の操作を実行できるのは、 Helixサーバのスーパーユーザだけです。

  • 指定されたユーザを削除する

  • 指定されたユーザを、プロテクションテーブルとすべてのグループから削除する

  • 指定されたユーザに関連付けられているすべてのクライアントワークスペースを削除する(これにより、そのユーザがオープンしたファイルが元の状態に戻ります)

このオプションを使用する場合は、以下の点に注意する必要があります。

  • このオプションは、エッジサーバでは機能しません。詳しくは、『Helix Coreサーバ管理者ガイド』の「コミットエッジ」を参照してください。
  • 削除したユーザに関連付けられているHelix Swarmクライアントワークスペースは削除されないため、Swarmの履歴はそのまま残ります
注意

他のユーザによって作業状態にされたファイルが存在するワークスペースクライアントは削除されません。

他のユーザによって作業状態にされたファイルが存在するワークスペースクライアントを強制的に削除するには、-Dオプションと-fオプションをプレビューモードで組み合わせて指定します。

操作を実行するには、-yオプションを追加します。

を参照してください。

-y

-Dを指定して実行すると、削除操作が実際に行われます。-yp4 user -Dp4 user -D -fp4 user -D -Fを指定しなかった場合、-yを指定してコマンドを実行した場合の処理内容のみが表示されます。

注意

p4 user -D -yp4 user -D -f -yp4 user -D -F -yを指定してコマンドを実行した場合、実行結果を元の状態に戻すことはできません。

-f

スーパーユーザ用の強制オプションです。指定したユーザの作成、変更、削除や、 最終更新日の変更を行うことができます(-yオプションを指定しなかった場合は、プレビューモードになります)

-F

-dオプションまたは-Dオプションとともに指定するスーパーユーザ用のオプションです。-Dオプションとともに-Fオプションを指定すると、 指定したユーザが強制的に削除され、プロテクションテーブルとすべてのグループからも、そのユーザが削除されます。 グループからユーザを削除した結果、 そのグループが削除される場合、このコマンドは失敗します。 このような場合は、ユーザを削除する前にグループを削除します。(-yオプションを指定しなかった場合は、プレビューモードになります)

-i

標準入力からユーザ仕様を読み取ります。 入力はp4 userフォームの形式に従う必要があります。

-o

標準出力にユーザ仕様が書き込まれます。

g-opts

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

使用上の注意点

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

適用外

適用外

  • list: 自分の情報を編集する場合

  • super: 別のユーザを削除する場合

  • このコマンドは、オペレータとサービスユーザに対して実行することができます(「p4 user」の「ユーザのタイプ」を参照)。

  • スーパーユーザ以外のユーザは、 -dオプションを使用して、p4 userコマンドを起動したユーザの仕様のみを削除することができます。 Helixサーバスーパーユーザは、 どのHelixサーバユーザでも 削除できます。
  • 指定したユーザがファイルを作業状態にしている場合、そのユーザの削除は失敗します。 作業状態にあるファイルをサブミットしてから、または元に戻してから、ユーザを削除してください。
  • デフォルトでは、ユーザ記録はパスワードなしで作成されるので、 どのHelixサーバユーザも P4USERを設定するか、グローバルオプション-uを使用することにより、 ほかのユーザとして操作を行うことができます。自分の名前をほかのユーザが使用するのを防ぐために、 p4 passwdコマンドを使用してパスワードを設定します。

    パスワードの作成、編集、および変更は、p4 userフォームで行うことも、p4 passwdコマンドを使用して行うこともできます。 p4 userコマンドでパスワードを設定できるのは、セキュリティレベルが「0」または「1」の場合だけです。 p4 passwdでは任意のサーバセキュリティレベルでパスワードを設定することができます。 より高いセキュリティレベルでパスワードを設定するには、p4 passwdを使用する必要があります。 各種のセキュリティレベルの詳細については、 『Helix Coreサーバ管理者ガイド』を参照してください。

    ヒント

    p4 userのフォームでPassword:フィールドを編集する場合、 パスワード内にコメント文字#を使用しないでください。 Helixサーバは、同じ行にある、この文字に続くすべてをコメントとみなし、 パスワードの一部としては保存しません。

    構成可能変数dm.user.resetpasswordが設定されている場合、 パスワードを作成しているすべてのユーザは、 パスワードをリセットしてからコマンドを実行する必要があります。

  • パスワードは、その長さに関係なく、p4 userフォームに6つのアスタリスクとして表示されます。
  • チケットベースの認証(詳細については「p4 login」を参照)を使用している場合は、 ユーザがパスワードを変更すると、そのユーザに対して発行されているすべての未処理のチケットが 自動的に無効になります。
  • 各ユーザの[Email:]フィールドの値は p4 usersコマンドで一覧表示でき、あらゆる目的に使用できます。
  • Helixサーバチェンジレビューデーモンで使用される p4 reviewsコマンドは、 Reviews:フィールドの値を使用します。 このデーモンは、 ユーザがReviews:フィールドで指定したファイルが変更されるたびに、 該当ユーザに電子メールを送ります。 このフィールドに一覧表示されるファイルは、ディポシンタックスで指定する必要があります。
    例えば、ユーザjoeの[Reviews:]フィールドの値が 次のようになっているとします。

    //depot/main/...
    //depot/.../README

    チェンジレビューデーモンは、 READMEファイルがサブミットされるか、//depot/main配下のファイルがサブミットされるたびに、 joeに電子メールを送ります。

    [Reviews:]フィールドの別の例を次に示します。

    //depot/*/relnotes.txt

    ディポ内のすべてのブランチに関するrelnotes.txtファイルの変更について通知を送信します。

  • Helixサーバチェンジレビューデーモンで使用される、 ジョブレビューの特別な設定があります。値

    //depot/jobs

    [Reviews:]フィールドに含まれる場合、 ジョブが変更されるたびに、該当ユーザに電子メールを送ります。

  • [Jobview:]フィールドに有効なジョブビューを設定すると、 該当ユーザが作成するどのチェンジリストにも、そのジョブビューに適合するジョブが表示されます。 そのチェンジリストで修正されるジョブは、 p4 submitでチェンジリストがサブミットされるときにチェンジリストに残っている必要があり、 ほかのジョブはサブミット前にフォームから削除されている必要があります。

    例えば、サイトのジョブに[Owned-By:]というフィールドがあるとします。 この場合、ユーザはp4 userフォームの[Jobview:]フィールドを Owned-By=yourname&status=openと設定します。 これで、該当ユーザが所有しているすべての作業中ジョブが、 ユーザが作成するすべてのチェンジリストに表示されるようになります ジョブビューの使用方法や構文の詳細については、 p4 jobsを参照してください。

  • p4 user joe

    Helixサーバユーザjoeのユーザ仕様を参照します。

    p4 user

    現在のHelixサーバユーザのユーザ仕様を編集します。

    p4 user -d sammy

    Helixサーバユーザsammyのユーザ仕様を削除しますが、 sammyのワークスペースクライアントには影響しません。

    p4 user -D sammy

    次の削除をプレビューします

    • ユーザsammy
    • sammyのすべてのワークスペースクライアント(sammy以外のユーザが作業状態にしたファイルが存在するワークスペースクライアントは除外されます)

    p4 user -D -y sammy

    次の削除を実行します

    • ユーザsammy
    • sammyのすべてのワークスペースクライアント(sammy以外のユーザが作業状態にしたファイルが存在するワークスペースクライアントは除外されます)
    注意

    元に戻すことはできなくなります。

    p4 user -D -f sammy

    次の削除をプレビューします

    • ユーザsammy
    • sammyのすべてのワークスペースクライアント(sammy以外のユーザが作業状態にしたファイルが存在するワークスペースクライアントは含まれます)

    p4 user -D -f -y sammy

    次の削除を実行します

    • ユーザsammy
    • sammyのすべてのワークスペースクライアント(sammy以外のユーザが作業状態にしたファイルが存在するワークスペースクライアントは含まれます)
    注意

    元に戻すことはできなくなります。

    p4 user -D -F -y sammy

    次の削除を実行します

    • ユーザsammy
    • sammyのすべてのワークスペースクライアント(sammy以外のユーザが作業状態にしたファイルが存在するワークスペースクライアントは含まれます)
    • プロテクションテーブルとグループに存在するsammy

    注意

    元に戻すことはできなくなります。

    p4 -u joe -P hey submit

    heyというパスワードを持つユーザjoeとして、 p4 submitを実行します。

    このコマンドは、高いセキュリティレベルでは機能しません。

    p4 user -f joe2

    呼び出し元がHelixサーバスーパーユーザであり、 joe2Helixサーバユーザとしてまだ存在していない場合は、 joe2という名前の Helixサーバユーザを 新規に作成します。 ユーザjoe2が既に存在している場合は、 Helixサーバスーパーユーザによるこのユーザの設定変更を可能にします。

    関連コマンド

    すべてのHelixサーバユーザの リストを参照する

    p4 users

    ユーザのパスワードを変更する

    p4 passwd

    特定ファイルのレビューを予約しているユーザのリストを参照する

    p4 reviews

    構成可能変数dm.user.noautocreateの変更により、 新しいユーザの作成方法を制御する

    p4 configure