chattr - Como trancar um arquivo
Dica publicada em Linux / Introdução
chattr - Como trancar um arquivo
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:
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.
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.
vou usar para proteger as configs de um de meus sabayons.