DOKK / manpages / debian 11 / libpam0g-dev / pam_get_user.3.en
PAM_GET_USER(3) Linux-PAM Manual PAM_GET_USER(3)

pam_get_user - get user name

#include <security/pam_modules.h>

int pam_get_user(const pam_handle_t *pamh, const char **user, const char *prompt);

The pam_get_user function returns the name of the user specified by pam_start(3). If no user was specified it returns what pam_get_item (pamh, PAM_USER, ... ); would have returned. If this is NULL it obtains the username via the pam_conv(3) mechanism, it prompts the user with the first non-NULL string in the following list:

•The prompt argument passed to the function.

•What is returned by pam_get_item (pamh, PAM_USER_PROMPT, ... );

•The default prompt: "login: "

By whatever means the username is obtained, a pointer to it is returned as the contents of *user. Note, this memory should not be free()'d or modified by the module.

This function sets the PAM_USER item associated with the pam_set_item(3) and pam_get_item(3) functions.

PAM_SUCCESS

User name was successful retrieved.

PAM_SYSTEM_ERR

A NULL pointer was submitted.

PAM_CONV_ERR

The conversation method supplied by the application failed to obtain the username.

PAM_BUF_ERR

Memory buffer error.

PAM_ABORT

Error resuming an old conversation.

PAM_CONV_AGAIN

The conversation method supplied by the application is waiting for an event.

pam_end(3), pam_get_item(3), pam_set_item(3), pam_strerror(3)

06/08/2020 Linux-PAM Manual