
Não quero desabilitar todos os logs no Debian, apenas aqueles que registram quando o root está logado e por quanto tempo.
quando emito last
um comando no terminal, recebo meu endereço IP, etc., quero desabilitar isso.
quando eu for para /var/log
,btmpo arquivo está vazio, há apenas algum sinal quadrado, como um caractere não reconhecido,wtmpé o mesmo. Eu apaguei o conteúdo do auth.log
.
Como posso desativar esse tipo de log?
Responder1
Filtrando os registros
Acredito que você pode lidar com alguns dos logs usando um filtro dentro do rsyslog
. Especificamente, você precisará adicionar um filtro a um arquivo de configuração em /etc/rsyslog.d/
.
Para mensagens como esta /var/log/secure
(no Fedora 19, por exemplo):
Jun 28 13:28:18 greeneggs login: pam_unix(login:session): session opened for user saml by LOGIN(uid=0)
Jun 28 13:28:19 greeneggs login: LOGIN ON tty2 BY saml
Você poderia usar um filtro como este para omiti-los:
se $syslogfacility-text == 'local0' e $msg começar com 'login' e ($msg contém 'root') então /dev/null
OBSERVAÇÃO:Acima não foi testado, mas é apenas um exemplo para mostrar como você pode abordar isso, aproximadamente.
Filtrando wtmp e btmp
Esses arquivos são arquivos binários e, portanto, você não pode simplesmente editá-los usando ferramentas padrão como sed
e awk
. Se você realmente deseja editá-los, você terá que editá-los cron
periodicamente. Não consegui encontrar nenhum método para impedir que usuários fossem adicionados a qualquer arquivo durante o login.
trecho doPágina Utmp da Wikipédia
utmp, wtmp e btmp
- utmpmantém uma contabilidade completa do status atual do sistema, tempo de inicialização do sistema (usado pelo tempo de atividade), registrando logins de usuários em quais terminais, logouts, eventos do sistema, etc.
- wtmpatua como um utmp histórico
- btmpregistra tentativas de login malsucedidas
O
utmp
arquivo não é um arquivo de texto, mas sim um formato binário que precisa ser editado por programas especialmente criados. A implementação e os campos presentes no arquivo diferem dependendo do sistema ou da versão da libc, e são definidos noutmp.h
arquivo de cabeçalho.O formato
wtmp
ebtmp
é exatamente igual,utmp
exceto que um nome de usuário nulo indica um logout no terminal associado. Além disso, o nome do terminal ~ com nome de usuário shutdown ou reboot indica um desligamento ou reinicialização do sistema e o par de nomes de terminais/registra a hora do sistema antigo/novo quando a data o altera.
Para aumentar esses arquivos você poderia usar o módulo Perl,Usuário::Utmppara modificar esses arquivos. Python também possui um módulo semelhante.