chattr
O chattr troca os atributos de um arquivo/diretório no linux. Este comando usa atributos e não permissão como o chmod.
Através dele os atributos passam a ser extensões que proíbem que o arquivo/diretório seja alterado, removido e renomeado, esses atributos pode ser atribuídos para o dono do arquivo e até mesmo para o root.
Sintaxe
chattr [ -RV ] [ -v version ] [ mode ] files…
A opção -R é para ser recursivo e -V de Verbose. A opção -v mostra a versão do chattr.
Os atributos a ser usados podem ser +-=[ASacDdIijsTtu]
Descrição das opções:
Opções:
-R - modifica atributos em subdiretórios. -V - Mostra detalhes sobre a modificação do atributo atributo: atributos de arquivo / diretório + adiciona atributo - remove atributo = define o atributo igual especificado A –> Coloca o atributo no arquivo como acessável, porém não modifica a hora acesso ao arquivo. a –> Coloca o atributo no arquivo de aberto para “append” somente para escrita. Somente o superusuário pode atribuir ou retirar essa opção. c –> Coloca o atributo no arquivo de compressão. Antes de salvar o arquivo em disco o arquivo e comprimido. D –> Usada para diretório. Quando um diretório é modificado as mudanças estão escritas de forma “synchronously” no disco d –> Coloca o arquivo como não candidato para o apoio quando os programas de dump estão funcionado. E –> Atributo experimental usado na compressão indicando erro. I –> Coloca o atributo no arquivo de codigo de arvore, escondendo o mesmo de indexação. i –> Com esse atributo o arquivo não pode ser deletado, renomeado ou criado link para o arquivo. u –> Coloca o atributo no arquivo de não deletável.
Exemplos:
Adicionando
vandocouto@gnulinuxbr:/tmp$ ls -l teste.txt -rw-rw-r-- 1 vandocouto vandocouto 0 2011-11-22 07:49 teste.txt vandocouto@gnulinuxbr:/tmp$ root@gnulinuxbr:/tmp# chattr +i teste.txt root@gnulinuxbr:/tmp# ls -l teste.txt -rw-rw-r-- 1 vandocouto vandocouto 0 2011-11-22 07:49 teste.txt root@gnulinuxbr:/tmp# rm -rf teste.txt rm: não foi possível remover "teste.txt": Operação não permitida
Removendo
root@gnulinuxbr:/tmp# chattr -i teste.txt root@gnulinuxbr:/tmp# ls -l teste.txt -rw-rw-r-- 1 vandocouto vandocouto 0 2011-11-22 07:49 teste.txt root@gnulinuxbr:/tmp# rm -rf teste.txt
lsattr
Comando que lista os atributos atribuídos a um arquivo/diretório.
Comando:
lsattr [opção] [arquivo/diretório]
Opções:
-a - Lista todos os arquivo, incluindo os ocultos. -d - Lista os atributos de diretórios. -R - Lista um diretório e seus subdiretórios. -v - Mostra versões dos arquivos.
Exemplo:
root@gnulinuxbr:/tmp# touch teste.txt root@gnulinuxbr:/tmp# chattr +i teste.txt root@gnulinuxbr:/tmp# lsattr -a teste.txt ----i------------e- teste.txt root@gnulinuxbr:/tmp#
Fonte: villani