p4 passwd
Change the Helix Core Server password of a user.
Syntax
p4 [g-opts] passwd [-O oldpassword] [-P newpassword] [user]
Description
By default, user records are created without passwords, and any
Helix Core Server
user can impersonate another by setting P4USER
or by using -u
, which is one of the Global Options. To reduce the risk of another user impersonating you, use p4
passwd
to set your password, and use a strong password.
We recommend that you improve security by using ticket-based authentication. This requires security level 3
or higher. See Server security levels in the Helix Core Server Administrator Guide.
To authenticate with tickets, first set a password with p4 passwd
, and
then use the p4 login
and
p4 logout
commands to
manage your authentication.
You can further improve security by assigning users to groups and
setting the PasswordTimeout
field in the p4 group
form. If a user
belongs to more than one group, the largest PasswordTimeout
value applies.
For
Helix Core Server
applications on Windows and macOS that connect to
Helix Core Server at security levels 0 and 1, p4 passwd
stores
the password by using p4
set
to store the MD5 hash of the password in the
registry or system settings. When connecting to
Helix Core Server at security levels 2, 3, or 4, password hashes are neither
stored in, nor read from, these locations.
Helix Core Server
superusers can reset the passwords of individual users (or all users
site-wide) with the p4 admin resetpassword
command.
You can also set the dm.user.resetpassword
configurable (set
with p4 configure
) to
require that any newly-created users reset the password you assigned them
when you created their account.
The printable characters 32 through 126 of the ASCII table are known to avoid character set mismatches between servers and clients:
space ! " # $ % ' ( ) * + , - . /
0 1 2 3 4 5 6 7 8 9
: ; < = > ? @
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
[ \ ] ^ _ `
a b c d e f g h i j k l m o p q r s t u v w x y z
{ | } ~
Other characters might or might not result in character set mismatches between servers and clients.
strong password
Certain combinations of security level and Helix Core Server applications releases require users to set "strong" passwords. Helix Core Server defines a strong password as:
- at least
dm.password.minlength
long, which, by default, is8
characters - contains at least two of the following :
- Uppercase letter(s)
- Lowercase letter(s)
- Non-alphabetic character(s)
Although abcd1234
is by default, considered a strong password in an environment with the security configurable set to 2
, it is too easy to guess.
To create secure password that is easy-to-remember:
- Start with a phrase, such as
Perforce
Enterprise-class Version Control.
- Make the phrase resemble a single word, such as
PEnterprise-classVC.
- Represent some letters with non-alphabetical characters:
PN2prI$-k|@zV(.
See also Server security levels in the Helix Core Server Administrator Guide.
If your security needs are minimal
We recommend using ticket-based authentication. However, if your security needs are minimal, you can use one of these methods:
Method 1 | Set the environment variable P4PASSWD to the password value |
Method 2 (overrides Method 1) | Create a setting for P4PASSWD within the P4CONFIG file. |
Method 3 (overrides Methods 1 and 2) |
Use the
allows the administrator to invoke the |
Depending on the security level of your installation, one or more of these methods might not be permitted. See the "Server security levels" topic in the Helix Core Server Administrator Guide.
Options
|
Avoid prompting by specifying the old password on the command line. This option is not supported if your site is configured to use security level 2, 3, or 4. If you use the |
|
Avoid prompting by specifying the new password on the command line. This option is not supported if your site is configured to use security level 2, 3, or 4. |
|
Superusers can provide this argument to change the password of another user. |
|
See Global options. |
Usage notes
Can File Arguments Use Revision Specifier? | Can File Arguments Use Revision Range? | Minimal Access Level Required |
---|---|---|
N/A |
N/A |
available to an operator user and a service user |
-
Passwords can be up to 1,024 characters in length. As of Release 2013.1, password length is configurable by setting the
dm.password.minlength
configurable. To require passwords to be at least 16 characters in length, a Helix Core superuser can run:p4 configure set dm.password.minlength=16
The default minimum password length is eight characters.
- The
p4 passwd
command never sends plaintext passwords over the network. A challenge/response mechanism is used to send the encrypted password to the Helix Core Server. - A password can contain spaces, but command line use of such a password requires quotes to enclose it in a single string:
p4 -P "my password" command
- If a user forgets her password, a
Helix Core Server
superuser can reset it by specifying the username on the command line:
p4 passwd username
- To delete a password, set the password value to an empty string. Depending on the security level of your site, your Helix Core Server might not permit you to set a null password.
- If you are using ticket-based authentication, changing your password
invalidates all of your tickets and logs you out. This is equivalent to
p4 logout
-a.
Examples
The superuser creates a new user named maria
and assigns a password to that user:
p4 user -f maria
The server displays a user spec. The superuser adds a Password: field, provides a value for that field, then saves and closes the form.
Later, if the user forgets the password, the superuser can change it:
p4 password -P aSecurePassword maria
The password for user maria
is now set to aSecurePassword
Related commands
To change other user options |
|
To change users' access levels |
|
To log in using tickets instead of passwords |
|
To force password reset |