Previous Topic: Service Endpoint Type ManagementNext Topic: Utilities


User Management

This section describes commands that manage users on the grid controller.

This section contains the following topics:

user create

user destroy

user get_newobj_acl

user info

user list

user modify_newobj_acl

user put_newobj_acl

user set

user unlock

user create

Add a user to the grid controller's local directory service database. The new username/password can be used to log in to the grid controller through the AppLogic visual interface. The following profile properties may be set: 'pwd', 'realname', 'comment', 'sshkey', and 'email'.

Syntax
user create <name> pwd=- [ group=<group>[,<group>]* ] [ <key1>=<value1> ... ]
Options
<name>

Login name of the local user to add. If the user name begins with '-' (e.g., '--myname'), the <name> argument must be preceded with '--' (e.g., '-- --myname').

pwd=-

Prompt for user's password. If the standard input is not a terminal device, it will not print a prompt and expect only one copy of the password on 'stdin' (this can be used for batch operations, to set the password from a file).

group=<group>[,<group>*]

A list of groups. The first group in the list becomes the user's primary group. The user is added as a member to all local groups in the list.

<keyN>=<valueN>

One or more profile property settings

Example
user create user1 pwd=-     

Add local user 'user1' and prompt for password.

Notes:

user destroy

Delete an existing user from the grid controller's local directory service database.

Syntax
user destroy <name>  
Options
<name>

Name of local user to delete. If the user name begins with '-' (e.g., '--myname'), the <name> argument must be preceded with '--' (e.g., '-- --myname').

Examples
user destroy myuser

Delete 'myuser'

Note: This command removes the specified user from the grid's controller. It also removes the user's SSH key, if one was set up, disabling the user's access to the command line interface too.

user get_newobj_acl

Display the new object ACL definition associated to a user, or display that portion of the new object ACL definition which relates to a particular principal.

Syntax:
user get_newobj_acl <name> [ <principal> ] [--effective] [ --batch ]
Parameters:
<name>

Name of the user; prepend the user name with / to indicate a global user. If the user name is not supplied, information is returned for the user executing the command.

<principal>

Name of the principal. <principal> is in the following form:

<scope>:<type>:<name>

A fully qualified principal name where <scope> is 'global' or 'local', type is 'group' or 'user' and <name> is the group or user name.

--effective

Display the ACL which would be created if the user were to create a new object. This option takes in to account any relevant user or group new object ACL definitions.

--batch

Display output in UDL format

Example:
user get_newobj_acl user1

Get the new object ACL definition associated to the local user 'user1'.

Output Specification

The non-batch output of this command is as follows:

--- Owner Information ---
ID                                    Scope    Type    Name
-------------------------------------------------------------------------
<val>                                 <val>    <val>   <val>

--- Entry Information ---
ID                                    Scope    Type    Name            Access
------------------------------------------------------------------------------
<val>                                 <val>    <val>   <val>           <val>
...
<val>                                 <val>    <val>   <val>           <val>

The batch output of this command is as follows:

acl
   {
   owner       : id=<val>   # scope type name
   entries
      [
      id=<val>, access_level1, ... access_levelN, permission1, ... permissionN   # scope type name
      ...
      id=<val>, access_level1, ... access_levelN, permission1, ... permissionN   # scope type name
      ]
   }

user info

Show a user profile, group membership, and the new object ACL definition associated to the user (if any).

Syntax
user info [ <name> ] [ --batch ]
Parameters
<name>

Name of the user to display; prepend the user name with / to indicate a global user.

If the local user name begins with '-' (for example, '--myname'), the <name> argument must be preceded with '--' (for example, '-- --myname').

If the user name is not supplied, information is returned for the user executing the command.

--batch

Display output in UDL format.

Example
user info user1

Show information for local user 'user1'

Output

Non-batch output:

Comment        : <val>
E-mail Address : <val>
User ID        : <val>
Locale         : <val>
Login Name     : <val>
Real Name      : <val>
Scope          : <val>
Primary Group  : <val>   # scope type name

--- Group Membership Information ---
ID                                    Scope  Type   Name
---------------------------------------------------------
<val>                                 <val>  <val>  <val>
...
<val>                                 <val>  <val>  <val>

--- New Object ACL Owner Information ---
ID                                    Scope  Type   Name
------------------------------------------------------------------------------
<val>                                 <val>  <val>  <val>

--- New Object ACL Entry Information ---
ID                                    Scope  Type   Name   Access
------------------------------------------------------------------------------
<val>                                 <val>  <val>  <val>  <val>
...
<val>                                 <val>  <val>  <val>  <val>

Batch output:

user
   {
   comment         = <val>
   email           = <val>
   id              = <val>
   locale          = <val>
   loginname       = <val>
   realname        = <val>
   scope           = <val>
   primary_group   = <val>   # scope type name
   group_membership
      [
      id=<val>, scope=<val>, type=<val>, name=<val>
      ...
      id=<val>, scope=<val>, type=<val>, name=<val>
      ]
   newobj_acl
      {
      owner: id = <val>   # scope type name
      entries
         [
         id = <val>,  access_level1, ... access_levelN, permission1, ... permissionN   # scope type name
         ...
         id = <val>,  access_level1, ... access_levelN, permission1, ... permissionN   # scope type name
         ]
      }
   }
user list

List users in the grid controller's local directory service and users in the global directory service database (if the grid is configured to use such a service). Only users with login permission on the grid ACL are listed.

Syntax
user list [ --local | --global ] [ --batch ] [ --extended ] [ --online] 
Parameters
--local

List local users only.

--global

List global users only.

--batch

Display output in UDL format.

--extended

Include users which do not have login permission on the grid ACL in the output.

--online

List only users that are logged in.

Examples
user list

Show a list of users.

Typical Output

If the output includes global users and the --extended option is used, then the command interactively requests a user login name and password to authenticate with the global directory to retrieve a complete list of global users.

The output of this command is as follows:


Non-batch output


Login Name        User ID                    Scope    Real Name    Login Enabled
--------------------------------------------------------------------------------
val               val                        val      val          val
...

The value of Scope is local or global. The value of Login Enabled is yes or no

Batch output


user:  loginname="val", id="val", scope="val", realname="val", loginenabled="val"
...

The value of loginenabled is 1 or 0.
Note

If the --extended option is specified and a global directory is configured, then the user is prompted to interactively authenticate with the global directory service.

user modify_newobj_acl

Replace that portion of a new object ACL definition associated to a user which relates to the owner or a principal entry.

Syntax:
user modify_newobj_acl <name> [ <principal>=owner ] [ <principal1>=<val> ... <principalN>=<val> ] [ template=<principal> ] [ --test_only ]
Parameters:
<name>

Name of the user; prepend the user name with / to indicate a global user.

<principal>=owner

Set the owner attribute of the new object ACL definition to the specified principal. The principal must be a group or the referenced user.

<principal>=<val>

Add the specified principal to the new object ACL definition with access level <val>. <principal> is in the following form:

<name>

Local user or group.

/<name>

Global user or group.

<scope>:<type>:<name>

A fully qualified principal name where <scope> is 'global' or 'local', <type> is 'group' or 'user', and <name> is the group or user name. Valid access levels are: read, control, configure and full.

template=<principal>

Replace the principal entries of the new object ACL definition with those of the new object ACL definition associated to the specified principal.

--test_only

Do not replace the new object ACL definition but rather test if the operation can succeed.

Example:
user modify_newobj_acl user1 local:group:admin=full

Modify the new object ACL definition associated to the local user 'user1'.

Note:

The owner of a new object ACL definition associated to a user must be that user or a group.

user put_newobj_acl

Replace the entire new object ACL definition associated to a user.

Syntax:
user put_newobj_acl <name> [ <principal>=owner ] [ <principal1>=<val> ... <principalN>=<val> ] [ --test_only | --force ]
Parameters:
<name>

Name of the user; prepend the user name with / to indicate a global user.

<principal>=owner

Set the owner attribute of the new object ACL definition to the specified principal. The principal must be a group or the referenced user.

<principal>=<val>

Add the specified principal to the new object ACL definition with access level <val>. <principal> is in the following form:

<scope>:<type>:<name>

A fully qualified principal name where <scope> is 'global' or 'local', <type> is 'group' or 'user', and <name> is the group or user name.

Valid access levels are: read, control, configure, and full.

--test_only

Do not replace the new object ACL definition but rather test if the operation can succeed.

--force

Skip prompting the user for verification.

Example:
user put_newobj_acl user1 local:group:admin=owner local:group:admin=full

Put the new object ACL definition associated to the local user 'user1'.

Notes:

The owner of a new object ACL definition associated to a user must be that user or a group.

user set

Modify a user profile. The following profile properties may be set: 'pwd', 'realname', 'comment', 'sshkey', 'locale', and 'email'. The 'pwd' property may only be set for local users. This command can also be used to set the user's grid access level or primary group.

Syntax
user set <name> [ group=<group>[,<group>]* ] <key1>=<value1> [ <key2>=<value2> ... ]
Parameters
<name>

Name of the user to modify; prepend the user name with / to indicate a global user. If the local user name begins with '-' (for example, '--myname'), the <name> argument must be preceded with '--' (for example, '-- --myname').

group=<group>[,<group>*] -

A list of groups. The first group in the list becomes the user's primary group. The user is added as a member to all local groups in the list.

<keyN>=<valueN>

User profile property settings.

Example
user set user1 comment="grid Test User"

Modify comment for local user 'user1'.

Notes
user unlock

Removes the temporary login lockout placed on the specified user ID if repeated attempts to login were made with a wrong password.

Syntax
user unlock name  
Arguments
name

Name of the user for which to remove the temporary login lockout. If the local user name begins with '-' (for example, '--myname'), the <name> argument must be preceded with '--' (for example, '-- --myname').

Examples
user unlock user@ca.com

Remove temporary login lockout for 'user@ca.com'