Veja nesse artigo como impedir que seus arquivos e diretórios tenham seus conteúdos alterados mudando o atributo deles para imutável!
Existem certas situações em que não queremos que um arquivo sofra alteração, seja por conter alguma informação que não deve ser editada, ou para evitar que automações atualizem o arquivo. Nese artigo você aprenderá como tornar um arquivo em imutável via comando de Linux. Vamos lá?
O que é um arquivo imutável
Um arquivo imutável é um arquivo cujas propriedades não podem ser alteradas, tanto conteúdo quanto o próprio nome do arquivo. Isso vale para caso algum processo estivesse programado para editar o arquivo, impedindo-o.
Nesse artigo utilizaremos o comando chattr
do Linux que tem essa função de tornar arquivos imutáveis, impossibilitando até mesmo para o usuário root fazer edições no arquivo sem antes remover o atributo que torna o arquivo em imutável.
Como tornar um arquivo imutável
Para tornar um arquivo imutável você precisará rodar um comando via linha de comando, confira nosso artigo de como realizar uma conexão SSH em seu servidor.
O comando chattr
, que significa change attribute, pode conceder a propriedade de imutável a um arquivo ou diretório. Confira suas variações:
1. Tornar um arquivo imutável
Para tornar um arquivo em imutável, rode o seguinte comando:
chattr +i [arquivo]
Ao utilizar a flag +i
no arquivo, ele fica imutável, não podendo ser editado, removido ou renomeado por nenhum outro arquivo nem pelo root.
No exemplo acima, após aplicar o atributo de imutável no arquivo exemplo.txt
note como não permitido editar o arquivo com o comando echo
na linha seguinte.
Para retirar o atributo imutável do arquivo, utilize o seguinte comando no mesmo arquivo:
chattr -i [arquivo]
2. Tornar um diretório imutável
Tornar um diretório imutável é o mesmo processo de tornar um arquivo imutável, mas invés de inserir o nome do arquivo, insira o nome do diretório. Dessa forma
chattr +i [diretório]
Remover o atributo imutável também segue o mesmo padrão que para um arquivo:
chattr -i [diretório]
Porém, caso você queira que essa mudança seja aplicada recursivamente para outros diretórios dentro do diretório informado, utilize a flag -R:
chattr -R +i [diretório]
Para remover o atributo imutável recursivamente, basta alterar a flag de +i
para -i
:
chattr -R -i [diretório]
3. Permitir apenas anexação
O comando chattr
também permite que você impeça edições no arquivo com exceção para novo anexos em novas linhas, mas sem poder remover, ou editar as linhas já existentes no arquivo. Para isso utiliza-se a flag +a
:
chattr +a [arquivo]
E para voltar o arquivo ao seu estado normal, utilize a flag -a
:
chattr
-a [arquivo]
Considerações Finais
Nesse artigo você aprendeu como tornar um arquivo imutável utilizando o comando chattr do Linux, confira o manual do comando para conhecer ainda mais detalhes dele.
Se você sentiu alguma dificuldade ou então tem alguma sugestão de algo que não foi mencionado, basta deixar aí nos comentários que no futuro podemos estar trazendo atualizações para este artigo. Também indico esses outros materiais relacionados com este assunto:
Até a próxima! :^)