Por que o / var / log / wtmp se torna tão grande? Como inspecionar arquivos wtmp?

7

Apenas notei um arquivo wtmp de 640MB em um container virtual (Ubuntu Hardy).

# last -n 10000 -f /var/log/wtmp.1|wc -l
384
# ls -hl /var/log/wtmp.1
-rw-rw-r-- 1 root utmp 641M 21. Sep 07:49 /var/log/wtmp.1

logrotate não foi instalado (eu fiz isso e forcei a rotação).

Há registros que não estão sendo exibidos por last (que deve mostrar as últimas 1000 entradas, mas aparentemente existem apenas 384).

De percorrer rapidamente a página wtmp/utmp man, não parece que uma única entrada deva usar cerca de 1,6MB.

Existe outro programa além de last para inspecionar esses arquivos?

    
por blueyed 21.09.2010 / 08:06

3 respostas

6

logrotate foi uma boa ideia.

Como qualquer arquivo regular, o wtmp pode ter sido "escasso" (cf. lseek (2) "holes" e ls -s ), que pode mostrar um tamanho de arquivo extremo que ocupa pouco disco. Como o buraco chegou lá, se era um buraco? getty(8) e amigos poderiam ter um bug. Ou uma falha do sistema e reparo do fsck poderia ter causado isso.

Se você estiver olhando para ver o conteúdo bruto do wtmp, od ou hd são bons para espiar os binários e ter o efeito colateral feliz de mostrar longos trechos vazios como tais.

A menos que ocorra, eu não pensaria muito mais. Um intruso marginalmente competente faria um trabalho melhor do que isso, os conteúdos não são tão interessantes, e pouco depende deles.

    
por 21.09.2010 / 08:29
6

Apenas para ajudar outras pessoas que podem achar isso útil ...

Is there another program besides last to inspect these files?

Sim, tente utmpdump .

$ utmpdump /var/log/wtmp
    
por 14.07.2014 / 15:25
1

Se você duvida que o wtmp possa ter buracos, você pode se livrar deles com cp --sparse se você tiver novos coreutils suficientes, ou com fallocate --dig-holes se você usar ainda não liberado a versão 2.25 do util-linux. Talvez a abordagem mais prática seja reempacotar o wtmp.

utmpdump /var/log/wtmp | utmpdump -r > /tmp/newtmp
ls -l /var/log/wtmp /tmp/newtmp # if significantly smaller
chown root:root /tmp/newtmp
chmod 0554 /tmp/newtmp
mv /tmp/newtmp /var/log/wtmp

E se mesmo assim o arquivo for grande, basta girar & comprimir.

mv /var/log/wtmp{,.1}
gzip -9 /var/log/wtmp.1
    
por 14.07.2014 / 16:22

Tags