Arquivo imutável – bloquear arquivos e pastas de alterações no linux, saiba como impedir que um arquivo seja modificado por outros programas ou outros usuários no linux.
Veja como deixar um arquivo seguro de modificações de qualquer forma, até mesmo por root, alterando o atributo desse arquivo ou pasta e deixar imutável.
Alguns softwares fazem alterações em alguns arquivos no linux, como php.ini, my.cnf, apache.conf, nginx.conf e outros, caso já tenha modificado eles, pode perder tudo.
O comando para modificar o atributo de um arquivo e impedir que ele seja modificado até por usuários root é o chattr.
Usando o comando chattr
chattr vem de ch de change e attr de atributo
O comando chattr pode alterar diversos atributos, consulte o manual para saber sobre todos os atributos dos arquivos, mas vou focar em 2 nesse post.
Um atributo importante é o “i” esse atributo torna o arquivo ou pasta completamente imutável até para os usuários root, não são modificados, gravados, removidos, renomeados.
Senti a necessidade de usar esse atributo em arquivos de configuração de virtual hosts criados pelo ispconfig, o ispconfig cria automaticamente arquivos de vhost.
Mas se o usuário modificar esses arquivos, quando o ispconfig for alterado, todos esses arquivos vão ser rescritos e as modificações serão perdidas.
Portanto, se desejar usar o ispconfig, mas realizar modificações manualmente também, é interessante usar o chattr -i para evitar modificações indesejadas.
O próprio ispconfig usa o chattr -i para impedir que as pastas criadas por eles sejam apagadas até mesmo por usuários root.
chattr -i pastas
Tornar uma pasta imutável
chattr +i /var/www/clients/client0/web1
Remover o imutável para permitir escrita na pasta
chattr -i /var/www/clients/client0/web1
chattr com o parâmetro -R para alterar de forma recursiva
chattr -R +i /var/www/clients/client0/web1 chattr -R -i /var/www/clients/client0/web1
Arquivo imutável chattr -i
Tornar um arquivo imutável
chattr +i exemplo.txt
Remover o imutável para permitir modificações no arquivo
chattr -i exemplo.txt
Outro atributo é o “a” que corresponde a Append Only, o arquivo só pode ser incrementado adicionando conteúdo no final e não pode ser renomeado ou removido.
Esse atributo pode ser interessante para o arquivo squid.conf, por exemplo, onde evita que remova regras e / ou modifique o nome dele, apenas add novas regras.
chattr -a
Tornar um arquivo apenas disponível para adicionar parte, não modificar ou remover:
chattr +a example.txt
Voltar o arquivo para o estado normal:
chattr -a example.txt
Usando comando lsattr
lsattr vem de ls para listar e attr de atributo
Verificar com ‘lsattr‘
lsattr lsattr exemplo.txt lsattr -d /var/www/
Veja outros tutoriais de linux aqui no blog supertutorial.

