Registrar detalhes do usuário que reiniciou um serviço

0

Isso está relacionado a uma pergunta feita por mim há algum tempo.

Eu quero registrar os detalhes sobre quem reiniciou um determinado serviço no Linux.

Por exemplo:

Se um usuário X reiniciar o apache, ele registraria o nome de usuário, a hora, o serviço (ou seja, o apache) e o status (sucesso / falha).

Eu posso fazer isso escrevendo um pequeno script e adicionando-o manualmente ao script de inicialização do serviço.

Mas isso não seria possível porque eu tenho milhares de servidores e dezenas de serviços.

Existe alguma outra maneira que eu possa fazer isso sem manipular o script de inicialização do serviço?

    
por Ramesh Raithatha 30.11.2013 / 17:49

1 resposta

1

Eu sugiro bloquear o sistema. Exija que o usuário use sudo , permita somente que comandos específicos sejam executados usando sudo e desative a execução de comandos arbitrários proibindo itens como sudo su e sudo bash .

sudo registrará todos os comandos executados através dele, incluindo, é claro, reinicializações de serviço. Na minha máquina, ele registra em /var/log/secure , o que só é legível por root .

No entanto, isso não lhe dá a última coisa que você queria - sucesso ou fracasso. Mas você poderia facilmente implementar esse log extra com um script wrapper, que você poderia exigir que o usuário usasse em vez de iniciar o serviço diretamente - apenas tome cuidado para tornar o script wrapper seguro!

Então o usuário digitaria:

sudo wrapper_script start service

ou algo parecido.

Note que o sudo registra ambos o usuário original e o usuário que eles estão fazendo o sufixo (por padrão, root).

    
por 30.11.2013 / 17:56

Tags