USER(1)
=======
:doctype: manpage


NAME
----
user - manages ${infinispan.brand.name} users in property security realms.


SYNOPSIS
--------
*user ls*

*user create* 'username'

*user describe* 'username'

*user remove* 'username'

*user password* 'username'

*user groups* 'username'

*user encrypt-all*

*user roles ls* 'principal'

*user roles grant* --roles='role1'[,'role2'...] 'principal'

*user roles deny* --roles='role1'[,'role2'...] 'principal'

*user roles create* --permissions='perm1'[,'perm2'...] 'role'

*user roles remove* 'role'


DESCRIPTION
-----------
Manage users in property realms with the `ls`, `create`, `describe`, `remove`, `password`, `groups` and `encrypt-all` subcommands.
List and modify principal to role mappings with the `roles` subcommand when using the cluster role mapper for authorization.


COMMAND SYNOPSIS
----------------

*user ls*::
Lists the users or groups which are present in the property file.

*user create* 'username'::
Creates a user after prompting for a password.

*user describe* 'username'::
Describes a user, including its username, realm and any groups it belongs to.

*user remove* 'username'::
Removes the specified user from the property file.

*user password* 'username'::
Changes the password for a user.

*user groups* 'username'::
Sets the groups to which a user belongs.

*user encrypt-all*::
Encrypt all passwords in a plain-text user property file.

*user roles ls* 'principal'::
Lists all roles of the specified principal (user or group).

*user roles grant* --roles='role1'[,'role2'...] 'principal'::
Grants one or more roles to a principal.

*user roles deny* --roles='role1'[,'role2'...] 'principal'::
Denies one or more roles to a principal.

*user roles create* --permissions='perm1'[,'perm2'...] 'role'::
Creates a new role with the specified permissions.

*user roles remove* 'role'::
Deletes an existing role.


COMMON OPTIONS
--------------

These options apply to all commands:

*-h, --help*::
Displays a help page for the command or sub-command.

*-s, --server-root*='path-to-server-root'::
The path to the server root. Defaults to `server`.

*-f, --users-file*='users.properties'::
The name of the property file which contains the user passwords. Defaults to `users.properties`.

*-w, --groups-file*='groups.properties'::
The name of the property file which contains the user to groups mapping. Defaults to `groups.properties`.


USER CREATE/MODIFY OPTIONS
--------------------------

*-a, --algorithms*::
Specifies the algorithms used to hash the password.

*-g, --groups*='group1,group2,...'::
Specifies the groups to which the user belongs.

*-p, --password*='password'::
Specifies the user's password.

*-r, --realm*='realm'::
Specifies the realm name.

*--plain-text*::
Whether passwords should be stored in plain-text (not recommended).


USER LS OPTIONS
---------------

*--groups*::
Shows a list of groups instead of the users.


USER ENCRYPT-ALL OPTIONS
------------------------

*-a, --algorithms*::
Specifies the algorithms used to hash the password.


USER ROLES OPTIONS
------------------

*-p, --permissions*::
Specifies one or more of the following permissions: `LIFECYCLE`, `READ`, `WRITE`, `EXEC`, `LISTEN`,
`BULK_READ`, `BULK_WRITE`, `ADMIN`, `CREATE`, `MONITOR`, `ALL`, `ALL_READ`, `ALL_WRITE`
