ouvinte de evento do kernel

2

Gostaria de saber se há algo semelhante a um ouvinte de eventos no UNIX que um programa pode se inscrever? Especificamente, quero saber:

Start and end times of a user session
Start and end of the applications executed by that user

Alguma dica?

    
por Inkognito 02.06.2014 / 15:31

1 resposta

1

Usando o psacct

Os eventos que você procura podem ser encontrados no psacct . Especificamente, eu daria uma olhada na ferramenta ac , que mostra informações contábeis sobre os usuários. Eu falo sobre isso neste U & Q Q & A intitulado: Comandos para determinar o nível de uso do servidor .

OBSERVAÇÃO: este não é um "serviço" com capacidade de inscrição, e sim um acompanhamento & infra-estrutura de relatórios que você pode fazer perguntas.

Você também pode usar lastcomm (parte do psacct, ele possui várias ferramentas no conjunto) para descobrir quando um determinado aplicativo foi usado pelo usuário X.

Exemplo

$ lastcomm rm
rm                S     root     pts/0      0.00 secs Tue Nov 14 00:39
rm                S     root     pts/0      0.00 secs Tue Nov 14 00:39
rm                S     root     pts/0      0.00 secs Tue Nov 14 00:38 

Você terá que curtir um pouco o psacct , mas há muitos recursos sobre isso no U & L, além do google, que deve gerar o que você deseja.

Usando o auditd

A outra ferramenta, da mesma maneira que o rastreamento e &% do psacct A abordagem de relatórios é auditd . Com auditd , você pode consultar para descobrir quem e por quanto tempo o programa X foi executado.

Exemplo

$ sudo ausearch -x /usr/bin/sudo | head -5
----
time->Sat Dec  7 21:15:15 2013
type=USER_AUTH msg=audit(1386468915.558:419): pid=2189 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:authentication acct="saml" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'
----
time->Sat Dec  7 21:15:15 2013

OBSERVAÇÃO: O acima é encontrar todas as entradas em que alguém executou a ferramenta /usr/bin/sudo .

Referências

por 02.06.2014 / 16:56