Como faço para excluir permanentemente / var / log / lastlog?

6

Meu arquivo / var / log / lastlog é enorme. Eu sei que é realmente apenas alguns kilobytes, mas o tar não é inteligente o suficiente para saber disso, então quando imagino uma máquina virtual, minha restauração falha porque acho que estou tentando carregar mais dados do que a capacidade no meu disco.

Eu quero excluir / var / log / lastlog e parar todo e qualquer log no arquivo. Estou ciente das implicações de segurança. Esse log precisa parar para preservar minha estratégia de backup.

Eu fiz uma mudança no /etc/pam.d/login, que foi informado que desabilitaria o registro no / var / log / lastlog, mas não parece funcionar, pois o / var / log / lastlog continua crescendo.

# Prints the last login info upon succesful login
# (Replaces the 'LASTLOG_ENAB' option from login.defs)
#session    optional   pam_lastlog.so

Alguma idéia?

EDITAR

Para qualquer pessoa interessada, uso o Centrify Express para autenticar meus usuários via LDAP. O Centrify Express é "gratuito", mas uma das desvantagens é que não consigo gerenciar UIDs de usuários via LDAP, então eles recebem um UID dinâmico quando fazem login em um servidor. O Centrify seleciona alguns valores altos de UID (para que eles não entrem em conflito com usuários locais no servidor, presumivelmente). / var / log / lastlog é indexado por UID e cresce para acomodar o maior UID no sistema. Isso significa que, quando um usuário do Centrify efetua login, obtém um UID no limite superior do intervalo do UID, o que faz com que o lastlog aloque uma quantidade obscena de espaço, de acordo com o sistema de arquivos.

~$ ll /var/log/lastlog
-rw-rw-r-- 1 root root 291487675780 Apr 10 16:37 /var/log/lastlog
~$ du -h /var/log/lastlog
20K     /var/log/lastlog

Mais em --- > Arquivos esparsos

    
por GregB 10.04.2012 / 23:10

3 respostas

13

Experimente este comando:

ln -sfn /dev/null /var/log/lastlog
    
por 10.04.2012 / 23:24
2

A melhor solução aqui, na minha opinião, é usar a opção -S / --sparse do tar para lidar com arquivos esparsos adequadamente.

    
por 11.04.2012 / 01:07
0

se o terceiro estiver usando o sistema tar, renomeie tar para dizer tar.real; em seguida, crie um script chamado tar, que usará -S somente quando chamado pelo software de terceiros.

melhor, chame o terceiro por meio de um script wrapper que adiciona um bin dir especial à frente do PATH, onde você tem o wrapper para tar, só funciona enquanto o terceiro não estiver usando caminhos absolutos.

    
por 06.07.2015 / 16:42