O Linux tem um sistema de arquivos robusto e maduro que permite aos usuários explorar uma variedade de ferramentas integradas para uma variedade de propósitos. Mais comumente, os usuários acessarão arquivos para que possam ser copiados, alterados, abertos e excluídos. Às vezes isso é intencional, em outras ocasiões, principalmente no caso de servidores, pode ser malicioso.
É hora de canalizar seu Sherlock Holmes interior. Vamos caçar arquivos!
Por que isso é importante?
Saber quando um arquivo foi usado, acessado ou alterado pode ajudar no acesso não autorizado ou simplesmente como uma forma de acompanhar o que aconteceu. Essa investigação pode ser em nível profissional, com análise forense dedicada, ou em nível de usuário doméstico, tentando ver quais de suas fotos foram copiadas e, potencialmente, onde foi parar. Este artigo também tem como objetivo fornecer aos administradores de sistema um guia vital para aprimorar seu conjunto de ferramentas para suas atividades e tarefas diárias.
Dê-me os arquivos, stat!
Abra seu Terminal e ganhe root se precisar. Uma vez feito isso, você estará pronto para pesquisar aquele arquivo indescritível ou verificar quando algo foi acessado.
o stat
O comando pode mostrar o tamanho do arquivo, tipo, UID / GUID e o tempo de acesso / modificação.
Aqui está o status da minha pasta “/ etc”. Observe a simplicidade do comando.
Você pode ver a data do último acesso, a hora da modificação e a última alteração.
Mas esqueci o nome!
Essa é uma ocorrência comum, especialmente ao vasculhar um disco rígido externo antigo em busca do documento ou foto de que você precisa. Felizmente, o Terminal vem ao resgate.
O comando necessário é ls
.
Existem quatro variáveis principais que você pode usar com ls
:
ls -a
Isso listará todos os arquivos, incluindo aqueles que estão ocultos:
ls -l
Isso ativa o formato de lista longa:
ls --time-style=FORMAT
Mostra a hora em um formato especificado:
ls +%D
Esta é a data de exibição / usuário no formato% m /% d /% y:
Quando colocado junto, o comando nos dá isso. É a lista básica do meu diretório pessoal em uma instalação de teste do Ubuntu.
Você pode ver as permissões, o nome de usuário, a data e o local. Na maioria das vezes, isso será suficiente para localizar o arquivo, mas e se você tiver um diretório com centenas ou milhares de arquivos? Percorrê-los manualmente consome muito tempo. Portanto, podemos restringir um pouco adicionando a seguinte sinalização:
ls -alx --time-style=+%D
Isso listará as coisas em ordem alfabética ou, se preferir, listará os arquivos por tamanho como este:
ls -als --time-style=+%D
Busca de bônus
Usando os comandos a seguir, os usuários podem ver quando um arquivo foi acessado.
ls -l --time=atime
Aqui estão algumas das opções que você pode definir para o time
parâmetro:
- um tempo – atualizado quando o arquivo é lido
- mtime – atualizado quando o arquivo muda
- ctime – atualizado quando o arquivo ou proprietário ou permissões mudam
Encontre e procure
Outra ótima ferramenta que o Linux tem é o find
comando (mais sobre isso aqui). Digamos que eu precise dos arquivos modificados mais recentemente, classificados em ordem reversa, eu digitaria o seguinte no Terminal:
find /etc -type f -printf '%TY-%Tm-%Td %TT %pn' | sort -r
Parece um comando muito difícil, mas realmente não é. Mais pode ser encontrado no Página de manual do Ubuntu. O resultado está abaixo.
Esperamos que este artigo forneça as habilidades necessárias para trabalhar no Terminal e descobrir o que está acontecendo com um determinado sistema. Isso permitirá que você descubra “quem, onde e o quê”, o que permitirá que você proteja seu servidor ou simplesmente encontre o documento de que precisa. O que você usa? Existe alguma ferramenta ou software matador que você usa? Existe uma ferramenta que pode ser executada no Terminal e tem uma interface gráfica elegante para iniciantes? Deixe-nos saber na seção de comentários e ajude seus colegas entusiastas.