Veja a história de quem abriu um arquivo em particular

6

Como posso saber quem abriu um arquivo em particular recentemente, mas talvez não o tenha mantido aberto no momento?

Alguém tem uma ideia?

    
por peakit 01.09.2009 / 19:27

5 respostas

2

Bem, se você quer dizer no passado, você provavelmente não pode, a menos que você tenha algum tipo de auditoria ativada.

Supondo que você não, você pode olhar para as permissões do arquivo e os diretórios para ver quem tem acesso. Você pode grep arquivo .bash_history de todos para o nome do arquivo.

E é sobre isso, tanto quanto eu sei. Se eles ainda estiverem abertos, você pode usar o lsof, por exemplo.

    
por 02.09.2009 / 06:15
9

Você pode usar o pacote auditd como sugerido em outra resposta. Um uso simples seria:

auditctl -w /etc/passwd -p war -k password-file

que assistirá às operações w rite, a ppend, r ead neste arquivo.

Você pode recuperar os logs de auditoria por meio do comando:

ausearch -f /etc/passwd

Estes exemplos são retirados de este artigo , que fornece uma visão geral mais completa desses comandos. O pacote auditd geralmente inclui esses comandos.

Se você estiver interessado apenas em monitorar operações nos arquivos e não em quem realmente realizou essas operações, use o Comando inotifywatch em vez de ativar a auditoria. Isso geralmente está disponível por meio do pacote inotify-tools . Ele registra os eventos do sistema de arquivos usando a interface inotify do linux.

    
por 01.09.2009 / 22:25
3

Auditd é seu amigo.

Página man do Auditd

Ainda não é instalado por padrão na maioria das distribuições Linux.

    
por 01.09.2009 / 19:32
0

O comando fuser faz exatamente isso. Além disso, o lsof faz um trabalho semelhante.

Observe que fuser geralmente vem pré-instalado na maioria das distribuições, enquanto lsof é menos comum, na minha experiência.

    
por 01.09.2009 / 19:34
0

Outra maneira de fazer isso é inotify, link

    
por 02.09.2009 / 00:09

Tags