Essa é uma dica sobre como travar a alteração de um determinado arquivo, com o comando
chattr.
Antes de iniciarmos a explicação do comando, é muito importante que você tenha como base, o funcionamento do comando
chattr que, de fato, é para assegurar a modificação ou futuras alterações do arquivo ou diretório, onde mesmo contendo permissão total mediante ao arquivo, não é possível realizar a alteração ou até mesmo deletar.
Isto é muito utilizado em arquivos do sistema, como
shadow e
passwd, que contém todas as informações de usuário e senhas.
# chattr [operador] [chave] [nome do arquivo]
Opções:
- O operador " + " faz com que seja atributo o valor, " - " faz com que o atributo seja removido.
- -R - recursivamente alterar os atributos de diretórios e seus conteúdos. Os links simbólicos encontrados durante a opção recursiva no diretório são ignoradas.
- -a - um arquivo com o atributo a só pode ser aberto em modo incremental para escrever. Somente o superusuário pode definir ou limpar este atributo.
- -i - um arquivo com o atributo i não pode ser modificado: ele não pode ser excluído ou renomeado, nenhum link pode ser criado para este arquivo e os dados não podem ser gravados no arquivo. Somente o superusuário pode definir ou limpar este atributo.
Vamos criar um arquivo
teste com usuário privilegiado:
# vim teste.txt
Dê permissão total para esse arquivo:
# chmod 777 teste.txt
Atribua a chave
+i no arquivo e em seguida tente editá-lo:
# chattr +i teste.txt
Remova a chave do arquivo:
# chattr -i teste.txt
Crie novamente um novo arquivo, entretanto desta vez, iremos atribuir a chave
+a:
# vim teste2.txt
Atribua a chave
+a para o arquivo
teste2.txt:
# chattr +a teste2.txt
A principal diferença da chave
+i para a chave
+a, é que com a chave
+a, você consegue realizar um append, ou seja, acrescentar um novo valor ao arquivo.
Enquanto com a chave
+i, não será possível.