Dica da semana: Como “trancar” um arquivo com o comando chattr.

Nesta dica da semana da 4Linux, iremos aprender o comando chattr, utilizado para bloquear arquivos e diretórios, ou seja criar restrições de acesso a diretórios e arquivos.

Monday, 29 de June de 2015

O que é?

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.

Sintaxe:

# chattr [operador] [chave] [nome do arquivo]

Operadores:

O operador “+” faz com que seja atributo seja adicionado ou seja trava o arquivo ou diretório.

O operador “- “ faz com que o atributo seja removido, remove a tranca do diretório ou arquivo.

-R

Recursivamente altera os atributos de diretórios e seus conteúdos. Os links simbólicos encontrados durante opção recursiva no diretório são ignorados.

-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 (root):

# vim teste.txt

Testando o comando chattr.

De permissão total para esse arquivo:

# chmod 777 teste.txt

Atribua a chave +i no arquivo e em seguida tente edita-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

Testando a opção -a do chattr

Atribua a chave +a para o arquivo teste2.txt:

# chattr +a teste2.txt

Atribua um texto para o arquivo teste2.txt:

# echo “Realizando um Append” >> 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.

Compartilhe esta página