User types
There are three types of
Helix server
users: standard
users, operator
users, and
service
users.
-
A
standard
user is a traditional user of Helix server.Standard users are the default, and each standard user consumes one Helix server license.
-
An
operator
user is intended for human or automated system administrators.An
operator
user does not require a Helix server license. -
A
service
user is used for server-to-server authentication, whether in the context of remote depots (see Remote depots and distributed development) or in distributed environments (see Helix Core Server Administrator Guide: Multi-Site Deployment.)Service users do not require licenses, but are restricted to automated inter-server communication processes in replicated and multi-server environments.
The following sections describe these types and how they need to be managed.
Once you set the user type, you cannot change it.
Creating standard users
By default,
Helix server
creates a new user record in its database whenever a command is issued by
a user who does not exist.
Helix server
superusers can also use the -f
(force) flag to create a new
user as follows:
$ p4 user -f username
Fill in the form fields with the information for the user you want to create.
The p4 user
command also has an option
(-i
) to take its input from the standard input instead of
the forms editor. To quickly create a large number of users, write a
script that reads user data, generates output in the format used by the
p4 user
form, and then pipes each generated form to
p4 user -i -f
.
Service users
Creating a service
user for each
Perforce
service you install can simplify the task of interpreting your server
logs, and also improve security by requiring that any remote
Perforce
services with which yours is configured to communicate have valid login
tickets for your installation. Service users do not consume
Helix server
licenses.
A service user can run the following commands:
p4 dbschema | p4 export | p4 info |
p4 login | p4 logout | p4 logparse |
p4 logschema | p4 logstat | p4 logtail |
p4 passwd | p4 servers | p4 user |
Although a service user cannot run p4 pull directly on the command line, the service user on a replica automatically runs this command to retrieve metadata and archive content (versioned files) from the master.
To create a service user, run the command:
$ p4 user -f service1
The standard user form is displayed. Enter a new line to set the new
user’s Type:
to be service
:
User: service1 Email: [email protected] FullName: Service User for remote depots Type: service
By default, the output of p4 users
omits service
users. To include service users, run p4 users -a
.
Tickets and timeouts for service users
A newly-created service user that is not a member of any groups is
subject to the default ticket timeout of 12 hours. To avoid issues that
arise when a service user’s ticket ceases to be valid, create a group for
your service users that features an extremely long timeout, or set the
value to unlimited
. On the master server, issue the
following command:
$ p4 group service_users
Add service1
to the list of Users:
in the
group, and set the Timeout:
and
PasswordTimeout:
values to a large value or to
unlimited
.
Group: service_users Timeout: unlimited PasswordTimeout: unlimited Subgroups: Owners: Users: service1
Permissions for service users
On your server, use p4 protect
to grant the service
user super
permission. Service users are tightly restricted
in the commands they can run, so granting them super
permission is safe. If you are only using the service user for remote
depots and code drops, you may further reduce this user’s permissions as
described in Restricting access to remote depots.
Operator users
Organizations whose system administrators do not use
Helix server
versioning capabilities might be able to economize on licensing costs by
using the operator
user type.
The operator
user type is intended for system
administrators who, even though they have super
or
admin
privileges, are responsible for the maintenance of the
Helix Core server, rather than
the development of software or other assets on the server.
An operator
user does not require a
Helix server
license, and can run only the following commands:
|
|
|
|
||
p4 pull (including -lj) |
||
p4 verify |
Your search for returned result(s).