Sub-rotina loginsuccess

Propósito

Registra um log de sucesso no.

Biblioteca

Biblioteca de Segurança (libc.a).

Sintaxe

#include <usersec.h>
int loginsuccess (User, Host, Tty, Msg)
char * User;
char * Host;
char * Tty;
char ** Msg;

Nota: Esta subroutina não é segura em thread.

Descrição

A subroutine loginsucesso executa o processamento necessário quando um usuário faz login com sucesso no sistema. Este subroutine atualiza os seguintes atributos no arquivo /etc/security/lastlog para o usuário especificado:

Item Descrição
time_last_login Contém o tempo atual.
tty_last_login Contém o valor especificado pelo parâmetro Tty .
host_last_login Contém o valor especificado pelo parâmetro Host ou o nome do host local se o parâmetro Host for um valor nulo.
unsuccessful_login_count Indica o número de tentativas de login sem sucesso. O subroutine loginsucesso redefine este atributo a um valor de 0.

Adicionalmente, um registro de auditoria de sucesso de login é cortado para indicar na trilha de auditoria que este usuário logou com sucesso.

Uma mensagem é retornada no parâmetro Msg que indica o tempo, o host e a porta do último login bem-sucedido e sem sucesso. O número de tentativas de login sem sucesso desde o último login de sucesso também é fornecido para o usuário.

Parâmetros

Item Descrição
Usuário Especifica o nome de login do usuário que efetuou o login com sucesso.
Host, Especifica o nome do host a partir do qual o usuário efetuou o login. Se o parâmetro Host for um valor nulo, utiliza-se o nome do host local.
tty Especifica o nome do terminal que o usuário utilizou para efetuar login.
MSG Retorna uma mensagem indicando o tempo de exclusão, host e porta dos últimos logins bem-sucedidos e malsucedidos. O número de tentativas de login sem sucesso desde o último login de sucesso também é fornecido. Ao retornar, o valor é um ponteiro para uma string válida dentro do armazenamento alocado em memória ou um ponteiro nulo. É de responsabilidade do programa de chamada para livre () o armazenamento devolvido.

Segurança

Controle de Acesso: O processo de chamada deve ter acesso às informações da conta no banco de dados do usuário.

Arquivo Acessado:

Modo Arquivo
rw /etc/security/lastlog

Eventos de auditoria:

Evento Informações
USER_Login nome do usuário

Valores De Retorno

Após a conclusão bem-sucedida, a subroutine loginsucesso retorna um valor de 0. Caso contrário, um valor de -1 é retornado e o valor global errno é definido para indicar o erro.

Nota: Se o módulo de carregamento não possuir suporte de interface definido na biblioteca de segurança, o subbroutine loginsucesso poderá retornar um valor de0(sucesso), e exibiçãoENOSYScomo o valor errno .

Códigos De Erro

A subroutine loginsucesso falha se um ou mais dos valores a seguir for verdadeiro:

Item Descrição
ENOENTE O usuário especificado não existe.
EACCES O processo atual não tem acesso de gravação ao banco de dados do usuário.
EPERM O processo atual não tem permissão para gravar um registro de auditoria.
ENOSYS O módulo de carregamento não tem o suporte de interface necessário definido na biblioteca de segurança.