Skip to content

Chattr, eficiência e simplicidade!

Olá Pesoal tudo tranquilo?

Hoje vou mostrar a vocês o comando chattr, esse é o cara, salvador da pátria, eficiência e simplicidade….. Consegui sem muito esforço proibir até mesmo o root (super usuário) de excluir,editar ou até msmo renomear um arquivo/diretorio…. O chattr funciona de forma “semelhante” chmod só que a nível de kernel….
O chattr apareceu em minha vida quando um amigo chamado Little_oak após ter configurando um servidor samba para uma certa empresa. Estávamos tento problemas com um danado de um autorun.inf(mizerável)
que ia gerando arquivos até que o disco ficasse lotado… o que nosso big Little_oak fez….
Little_Oak- Doooguinha vamos usar o chattr!
Doooguinha- Chattr?
Little_Oak- Sim, vamos mudar os atribuos de autorun.inf e deixá-lo imutável… (Até ai não havia entendido nada, mas vamos lá, confiar no metsre sempre vale a pena!)

No nosso caso apenas abrimos o autorun.inf e com vi (esse tbm é o cara) e excluimos todos código malicioso que existia alí, salvamos e rapidamente demos o comando #chattr +ai.
Como uma luva, nada mais impestiava nosso server. Agora vou falar um puco mais tecnicamente sobre o chattr.
O chattr muda os atributos de um arquivo/diretório no linux (tomém cuidado), ele funciona a nível de kernel, na minha modesta opinião não há nada melhor no mundo lnux que desempenhe tal função.

Como opções no chattr temos

-R → que modifica atributos em subdiretórios
-V → Mostra detalhes sobre a modificação do atributo, atributos de arquivo/diretório (particurlarmente nunca usei)
+ →serve para adicionar o atributo desejado
– →serve para remover o atributo iserido com a opção acima

Agora é hora que o bicho pega, os atributos mais importantes/usados

A → Não modifica a hora de acesso ao arquivo
a → o arquivo so pode somente ser gravado em modo incremental, ou seja pode ser adicionado conteúdo somente no final do arquivo, não pode ser removido ou renomeado
c → permite compactação nos arquivos especificados
d → protege para o dump não fazer backup do arquivo
i → Imutáveis, Arquivos Imutáveis não podem ser modificados, gravados, removidos, renomeados. Nem mesmo o root (super usuário) pode fazer alguma coisa nesse arquivos antes de retirar os atributos que ali estão.
s → É chamado de apagamento seguro, quando eliminado o arquivo é zerado sem possibilidade de recuperação.
u → É marcado como recuperável, quando apagado é salvo uma copia para permitir recuperação (muito útil)

A sintaxe do comando é a seguinte:

root@appunix:˜#chattr [opções] [Arquivo ou Diretório]

Ex da Historinha acima:

root@bdserver:˜#chattr +ai /mount/samba/administrativo/autorun.inf

Simplão e nos poupou muita dor de cabeça em ficar monitorando disco e o perigo de toda nossa rede ficar infestada desse tipo de praga…

Usamos muito tbm no resolv.conf que, todas as vezes que nos conectamos em alugma rede, é mudado para servidores DNS daquela rede(cada provedor de acesso usa seus DNSs) que muitas vezes são lentos e ruins….

root@appunix:˜#chattr +i /etc/resol.conf

Meu resolv.conf particurlarmente fica sempre assim

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.222.222
nameserver 208.67.220.220
nameserver 4.2.2.2
nameserver 4.2.2.1
nameserver 200.165.132.148
nameserver 200.165.132.155
nameserver 200.184.26.3
nameserver 200.184.26.4

São respectivamente DNS Google, DNS OpenDNS, DNS Level3, DNS Velox e DNS Intelig, os considero os melhores…..
– Doooguinha, como saber quais os atributos estão para tal arquivos?
lsattr, esse é o nome do dito-cujo, trabalha como o ls -la só que vê os atributos que estão atribuidos para os arquivos/diretórios.

Sintaxe lsattr

lsattr [opções] [Arquivo ou Diretório]

Opções (encontradas com o comando #man lsattr)
-R → Lista os atributos de um diretório e seus subdiretórios
-v → Mostra versões dos arquivos.
-a → Lista todos os arquivo, incluindo os ocultos.
-d → Lista os atributos de diretórios.

Eu costumos usar o lsattr sem atributos e somente indicando o arquivos no qual quero saber a que atributos lhe foi inserido

root@bdserver:˜#lsattr /etc/resolv.conf
—-i————– resolv.conf (linha de retorno do comando)

Não está acrediando no poder do chattr, então faça como eu (não acretidava que conseuria barrar o root), dê esse comando que em circustâncias normais é mortal

root@bdserver:˜#rm -rf /etc/resolv.conf
rm: cannot remove ‘resolv.conf’: Operation not permitted

#fail, simplismente você como ROOT você não pode remover um arquivo, vejam como isso é FANTÁSTICO e pode economizar muita dor de cabeça….

Espero ter ajudado alguns que como sofreram algum dia, tanto na questão do DNS quant na questão do autrun.
Abraço forte a todos.
😀

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.