subrotina pam_set_data
Propósito
Configura informações para um módulo PAM específico para a sessão do PAM ativo.
Biblioteca
Biblioteca PAM (libpam.a)
Sintaxe
#include <security/pam_appl.h>
int pam_set_data (PAMHandle, ModuleDataName, Data, *(cleanup)(pam_handle_t *pamh, void *data,
int pam_end_status))
pam_handle_t *PAMHandle;
const char *ModuleDataName;
void *Data;
void *(cleanup)(pam_handle_t *pamh, void *data, int pam_end_status);
Descrição
A subroutina pam_set_data permite a configuração e atualização de dados específicos do módulo dentro da alça PAM, PAMHandle. O argumento ModuleDataName serve para identificar exclusivamente os dados, Data. As informações armazenadas podem ser recuperadas especificando ModuleDataName e passando-as, juntamente com o identificador PAM apropriado, para pam_get_data(). O argumento cleanup é um ponteiro para uma função que é chamada para liberar a memória alocada usada pelos dados quando pam_end() é chamado. Se os dados já estiverem associados a ModuleDataName, o PAM fará uma limpeza dos dados antigos, os substituirá por Data e substituirá a função de limpeza antiga. Se as informações que estão sendo definidas são de um tipo de item PAM conhecido, use a subroutinha pam_putenv em vez disso.
Parâmetros
| Item | Descrição |
|---|---|
| PAMHandle | A alça PAM representando a sessão de autenticação do usuário atual. Essa alça é obtida por uma chamada para pam_start (). |
| ModuleDataName | Um identificador único para Dados. |
| Dados | Uma referência aos dados denotados por ModuleDataName. |
| cleanup | Um ponteiro de função que é chamado por pam_end () para limpar toda a memória alocada usada por Dados. |
Valores De Retorno
Após a conclusão bem-sucedida, pam_set_data_ retorna PAM_SUCCESS. Se a rotina falhar, PAM_SYSTEM_ERR ou PAM_BUF_ERR é retornado, dependendo do erro real.
Códigos De Erro
| Item | Descrição |
|---|---|
| PAM_SYSTEM_ERR | Ocorreu um erro do sistema. |
| PAM_BUF_ERR | Ocorreu um erro de memória. |