Guia do Linux/Iniciante+Intermediário/Comandos diversos/chattr

chattr

editar

Modifica atributos de arquivos/diretórios. Não confunda atributos de arquivo com permissões de acesso ([ch-perm.html Permissões de acesso a arquivos e diretórios, Capí­tulo 13]), os atributos são diferentes e definem outras caracterí­sticas especiais para os arquivos/diretórios especificados.

chattr [opções] [atributos] [arquivos/diretórios]

Onde:

arquivos/diretórios
Arquivos/Diretórios que terão os atributos modificados. Podem ser usados curingas
opções
-R
Modifica atributos em subdiretórios
-V
Mostra detalhes sobre a modificação de atributos.
atributos
Os atributos de arquivos/diretórios podem ser especificados da seguinte maneira:
  • - Adiciona o atributo
  • - - Remove o atributo
  • = - Define o atributo exatamente como especificado

Os atributos são os seguintes:

  • A - Não modifica a hora de acesso de arquivos. Poder aumentar consideravelmente a performance em Notebooks devido a diminuição de I/O no disco rí­gido. Quando especificada em diretórios, faz com que todos os arquivos e subdiretórios residentes nele não tenham a hora de acesso modificada.

Este atributo funciona apenas em kernels 2.2 e superiores

  • a - Append-Only - Arquivos com este atributo podem somente ser gravados em modo incrementais (o conteúdo poderá somente ser adicionado ao final do arquivo). Eles não poderão ser removidos, renomeados e novos links não poderão ser criados para estes arquivos.

Em diretórios faz com que os arquivos sejam apenas adicionados. Somente o root pode especificar ou retirar este atributo.

  • c - Permite compactação nos arquivos especificados de forma transparente para o usuário. Durante a leitura, o kernel retorna dados descompactados e durante a gravação os dados são compactados e gravados no disco.

Este atributo ainda não foi totalmente implementado no código atual do kernel.

  • d - Este atributo não é usado pelo kernel, mas faz com que o programa dump evitar backup dos arquivos marcados com este atributo.
  • i - Imutável - Arquivos imutáveis não podem ser modificados, os dados também não podem ser gravados para estes arquivos, não podem ser removidos, renomeados. Até mesmo o usuário root não poderá modificar estes arquivos.

Em diretórios, faz com que arquivos não possam ser adicionados ou apagados. Somente o usuário root pode especificar ou retirar este atributo.

  • s - O arquivo especificado é marcado como "apagamento seguro"; quando o arquivo é apagado, seus blocos são zerados e gravados de volta no disco (eliminando qualquer possibilidade de recuperação).
  • S - Faz a gravação imediatamente para o arquivo especificado. É como especificar a opção "sync" na montagem do sistema de arquivos ext2, mas afeta somente os arquivos especificados. Não tem efeito em diretórios.
  • u - O arquivo especificado é marcado como recuperável. Quando o arquivo é apagado, seu conteúdo é salvo para permitir futura recuperação.

Este atributo ainda não foi implementado totalmente no código atual do kernel.

Os atributos de arquivos/diretórios são visualizados através do utilitário lsattr. Existem patches para os kernels da série 2.2 que adicionam o suporte experimental aos atributos "c" e "u".

Exemplos:

  • chattr AacdiSsu teste.txt - Adiciona todos os atributos
  • chattr =ASs teste.txt - Define os atributos para "ASs"
  • chattr i -A teste.txt - Retira o atributo "A" e adiciona "i"
  • chattr = teste.txt - Retira todos os atributos