Guia do Linux/Iniciante+Intermediário/Comandos diversos/chattr
chattr
editarModifica 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.
- d - Este atributo não é usado pelo kernel, mas faz com que o programa
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