Arquivo imutável – bloquear arquivos e pastas de alterações no linux

arquivo imutável bloquear alterações

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
arquivo imutável chattr

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.