Comandos 5 'Chattr' para tornar os arquivos importantes imutáveis ​​(imutáveis) no Linux

Comandos 5 'Chattr' para tornar os arquivos importantes imutáveis ​​(imutáveis) no Linux

chattr (Alterar atributo) é um utilitário Linux Line que é usado para definir/não definir certos atributos para um arquivo no sistema Linux para garantir a exclusão acidental ou modificação de arquivos e pastas importantes, mesmo que você esteja conectado como usuário root.

Nos sistemas de arquivos nativos do Linux I.e. ext2, ext3, ext4, btrfs, etc. suporta todas as bandeiras, embora todas as bandeiras não suportem todo o FS não nativo. Não se pode excluir ou modificar o arquivo/pasta assim que os atributos são definidos com o comando chattr, mesmo que se tenha permissões completas.

5 exemplos de comando chattr

Isso é muito útil para definir atributos em arquivos do sistema, como passagens e arquivos de sombra, nos quais as informações do usuário contêm.

Sintaxe do chattr
# chattr [operador] [sinalizadores] [nome do arquivo] 
Atributos e bandeiras

A seguir, estão a lista de atributos comuns e sinalizadores associados podem ser definidos/não usados ​​usando o comando chattr.

  1. Se um arquivo for acessado com 'A'Conjunto de atributos, seu registro de ATIME não é atualizado.
  2. Se um arquivo for modificado com 'S'Conjunto de atributos, as alterações são atualizações de forma síncrona no disco.
  3. Um arquivo está definido com 'a'Atributo, só pode ser aberto no modo Apênder para escrever.
  4. Um arquivo está definido com 'eu'atributo, não pode ser modificado (imutável). Significa que não há renomeação, nenhuma criação simbólica do link, sem execução, sem gravidade, apenas o superusor pode despertar o atributo.
  5. Um arquivo com o 'j'O atributo está definido, todas as suas informações atualizadas para o Ext3 Journal antes de serem atualizadas para o próprio arquivo.
  6. Um arquivo está definido com 't'atributo, sem fércia de cauda.
  7. Um arquivo com o atributo 'd', não será mais candidato a backup quando o processo de despejo for executado.
  8. Quando um arquivo tem 'você'O atributo é excluído, seus dados são salvos. Isso permite que o usuário peça sua descendência.
Operador
  1. + : Adiciona o atributo ao atributo existente dos arquivos.
  2. - : Remove o atributo ao atributo existente dos arquivos.
  3. = : Mantenha os atributos existentes que os arquivos têm.

Aqui, vamos demonstrar alguns dos exemplos de comando chattr para definir/não definir atributos para um arquivo e pastas.

1. Como adicionar atributos nos arquivos para garantir a exclusão

Para fins de demonstração, usamos a pasta demonstração e arquivo importante_file.conf respectivamente. Antes de configurar atributos, verifique se os arquivos existentes têm algum atributo definido usando o comando 'ls -l'. Você viu os resultados, atualmente nenhum atributo está definido.

[[Email Protected] Tecmint]# LS -l Total 0 DRWXR-XR-X. 2 raiz de raiz 6 de 31 de agosto 18:02 Demo -rwxrwxrwx. 1 raiz de raiz 0 31 de agosto 17:42 IMPLEMENTE_FILE.conf 

Para definir o atributo, usamos o + assinar e não definir o uso do - Assine com o comando chattr. Então, vamos definir um pouco imutável nos arquivos com +eu sinalizadores para impedir que alguém exclua um arquivo, mesmo um usuário root não tem permissão para excluí -lo.

[[Email Protected] Tecmint]# Chattr +I Demo/ [[Email Protected] Tecmint]# Chattr +I Importante_file.conf 

Observação: A parte imutável +eu só pode ser definido por superusuário (eu.e root) Usuário ou um usuário com privilégios SUDO podem definir.

Depois de definir um bit imutável, vamos verificar o atributo com comando 'LSATTR'.

[[Email Protected] Tecmint]# lsattr ---- I----------- ./Demo ---- I----------- ./IMPLEMENTE_FILE.conf 

Agora, tentei excluir com força, renomear ou alterar as permissões, mas não permitiu dizer “operação não permitida““.

[[Email Protected] Tecmint]# RM -RF Demo/ RM: Não é possível remover âdemo/ â: Operação não permitida 
[[Email Protected] Tecmint]# MV Demo/ Demo_alter MV: Não é possível mover âdemo/ Â para âdemo_alter: Operação não permitida 
[[Email Protected] Tecmint]# chmod 755 IMPLEMENT_FILE.Conf Chmod: Alterando as permissões de âmapant_file.Confâ: Operação não permitida 

2. Como não atribuir atributo nos arquivos

No exemplo acima, vimos como definir o atributo para proteger e impedir os arquivos de uma exclusão acidental, aqui neste exemplo, veremos como redefinir (não atributo Unset) permissões e permite tornar os arquivos alteráveis ​​ou alteráveis ​​usando -eu bandeira.

[[Email Protected] Tecmint]# chattr -i demonstração/ importante_file.conf 

Após a redefinição de permissões, verifique o status imutável dos arquivos usando 'LSATTRComando.

[[Email Protected] Tecmint]# lsattr ---------------- ./demonstração ---------------- ./IMPLEMENTE_FILE.conf 

Você vê nos resultados acima que '-eu'Flag removido, isso significa que você pode remover com segurança todo o arquivo e pasta residem na pasta Tecmint.

[[Email Protected] Tecmint]# rm -rf * [[Email Protected] Tecmint]# LS -l Total 0 

3. Como proteger /etc /passwd e /etc /arquivos de sombra

Definindo atributo imutável nos arquivos /etc/passwd ou /etc/sombra, os torna protegidos de uma remoção ou violação acidental e também desativará a criação de contas de usuário.

[[Email Protected] Tecmint]# chattr +i /etc /passwd [[email protegido] tecmint]# chattr +i /etc /shadow 

Agora tente criar um novo usuário do sistema, você receberá uma mensagem de erro dizendo 'Não é possível abrir /etc /passwd'.

[[Email Protected] Tecmint]# UserAdd Tecmint UserAdd: Não é possível abrir /etc /passwd 

Dessa forma, você pode definir permissões imutáveis ​​em seus arquivos importantes ou arquivos de configuração do sistema para evitar a exclusão.

4. Anexar dados sem modificar os dados existentes em um arquivo

Suponha que você apenas queira permitir que todos apenas anexem dados em um arquivo sem alterar ou modificar os dados já inseridos, você pode usar o 'a'atributo como segue.

[[Email Protected] Tecmint]# chattr +um exemplo.txt [[email protegido] Tecmint]# lsattr exemplo.txt ----- a ---------- Exemplo.TXT 

Depois de definir o modo de apendamento, o arquivo pode ser aberto para escrever dados apenas no modo Anexo. Você pode despertar o atributo Apênd.

[[Email Protected] Tecmint]# chattr -a exemplo.TXT 

Agora tente substituir o conteúdo já existente em um arquivo exemplo.TXT, Você receberá erro dizendo 'operação não permitida'.

[[Email Protected] Tecmint]# echo "Substituir contém em arquivo."> Exemplo.txt -bash: exemplo.txt: operação não permitida 

Agora tente anexar um novo conteúdo em um arquivo existente exemplo.TXT e verifique.

[[Email Protected] Tecmint]# echo "Substituir contém em arquivo.">> exemplo.TXT 
[[Email protegido] Tecmint]# Exemplo de gato.txt aqui está o exemplo para testar o atributo 'a' significa apenas apêndice. substituir contém em arquivo. 

5. Como proteger diretórios

Para garantir o diretório inteiro e seus arquivos, usamos '-R'(recursivamente) mudar com'+eu'bandeira junto com o caminho completo da pasta.

[[Email Protected] Tecmint]# chattr -r +i myfolder 

Depois de definir atribuir recursivamente, tente excluir a pasta e seus arquivos.

[[Email Protected] Tecmint]# rm -rf myFolder/ rm: não é possível remover 'myfolder/': operação não permitida 

Para não atingir a permissão, usamos o mesmo interruptor '-r' (recursivamente) com a bandeira '-i' junto com o caminho completo da pasta.

[[Email protegido] Tecmint]# chattr -r -i MyFolder 

É isso! Para saber mais sobre os atributos de comando, sinalizadores e opções de chattr use as páginas do homem.