• Version 8.0 and earlier: submitconfirmuserpam() function not available.
  • Version 8.5 and later: submitconfirmuserpam() function available.

The submitconfirmuserpam() function controls whether or not a user must enter a password before the current task request is accepted. Password authentication and account management is performed by PAM and name of the PAM service must be provided. When this function is set, the user submitting the request is prompted for the password that is associated with the submit host user name set in this function.

When used, this policy function overrides the pampasswordservice setting in the submit host’s settings file and works even if the PAM setting is set to no.

The user’s failure to provide the correct password does not automatically result in a rejection of the secured task request. The policy should examine the result of the submitconfirmuserpam() function and respond accordingly.

result = submitconfirmuserpam(user, pampasswordservice[, prompt[, attempts[, name, time]]]);
user Required. A string that contains a user name that exists on the submit host.
pampasswordservice Required. The name of the PAM service that you want to use for PAM password authentication and account management.
prompt Optional. The prompt text for the password. The default is Enter password for <user>.
attempts Optional. The number of attempts that the user has to enter the correct password. The default value for attempts is 3.

Optional. The name of a persistent variable whose expiration determines the reauthenticate grace period. The value must start with a dollar sign ($), otherwise no grace period is set and submitconfirmuserpam() automatically prompts for a password.

If name is specified, the time parameter (below) is required.


Required if name argument (above) is specified). The expiry date (number of seconds) after which a prompt is forced. submitconfirmuserpam() returns true without prompting the user for a password if the persistent variable, defined by the name argument, exists and its expiry date, defined by time, has not been exceeded.

true Password matched.
false Password did not match or invalid password service.
result = submitconfirmuserpam(user, "pbulpass", "Please enter the user's  password:", 3);
if (result != 1) {reject;}

In this example,

submitconfirmuserpam(user, "pbulpass", "Passwd for "+user+": ", 3, "$gpvar5", 300);

a persistent variable gpvar5 is created at initial successful user authentication and for 5 minutes (300 seconds) thereafter, the user is not prompted for a password.

For more information, please see the following: