Helix Core P4コマンドリファレンス (2020.1)

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サーバスーパーユーザがp4 configureコマンドを使用してこの動作を制御できます。)

Helixサーバユーザのタイプ:

標準ユーザ
  • デフォルトは標準ユーザです
  • 標準ユーザはそれぞれ1つずつHelixサーバライセンスを消費します
オペレータユーザ
  • システム管理者向けです
  • 限られたHelixサーバコマンドのサブセットのみを実行できます
  • ライセンスは消費しません
サービスユーザ
  • 複製環境およびマルチサーバ環境におけるサーバ間通信向けです
  • オペレータユーザよりさらに少ないHelixサーバコマンドのサブセットのみを実行できます
  • ライセンスは消費しません

usernameを指定せずにp4 userを実行すると、現在のユーザの仕様を編集できます。 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オプションを使用すると便利です。 このオプションは指定したユーザを削除するのみでなく、そのユーザに関連付けられているすべてのクライアントワークスペースを削除します。

詳細については、「オプション」および「」を参照してください。

フォームフィールド

フィールド名 タイプ 説明

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

指定したユーザを削除します。 ユーザusernameまたはHelixサーバスーパーユーザのみがこのコマンドを実行できます。

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

-D username

次の削除処理を行います。

  • 指定したユーザを削除し、そのユーザをプロテクションテーブルおよびすべてのグループから削除します
  • そのユーザに関連付けられているすべてのクライアントワークスペースを削除し、削除したユーザが作業状態にしたファイルを元に戻します

ただし、以下に注意する必要があります。

  • このオプションは、エッジサーバでは機能しません。詳しくは、『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

  • スーパーユーザ以外のユーザは、-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サーバチェンジレビューデーモンで使用される、ジョブレビューの特別な設定があります。 If you include the value:

    //depot/jobs

    [Reviews:]フィールドの値が次のようになっている場合、ジョブが変更されるたびに、該当ユーザに電子メールを送ります。

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

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

  • オペレータは(super権限またはadmin権限を持っている場合でも)、ソフトウェア開発やバージョン化されたサービス上のその他の資産ではなく、Perforceサービスの保守に関して責任があるシステム管理者に設定されるユーザです。 オペレータは次のコマンドのみ実行できます。

    p4 admin stop

    p4 admin restart

    p4 admin checkpoint

    p4 admin journal

    p4 counter

    p4 counters

    p4 dbstat

    p4 dbverify

    p4 diskspace

    p4 configure

    p4 counter (-fを含む)

    p4 counters

    p4 journaldbchecksums

    p4 jobs (-Rを含む)

    p4 login

    p4 logout

    p4 logappend

    p4 logparse

    p4 logrotate

    p4 logschema

    p4 logstat

    p4 logtail

    p4 lockstat

    p4 monitor

    p4 passwd

    p4 ping

    p4 verify

    p4 user

       
  • サービスユーザは複製環境で使用され、次のコマンドのみ実行できます。

    p4 dbschema

    p4 export

    p4 login

    p4 logout

    p4 passwd

    p4 info

    p4 user

       

    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