LFCs como arquivar/compactar arquivos e diretórios, definir atributos de arquivo e encontrar arquivos no Linux - Parte 3

LFCs como arquivar/compactar arquivos e diretórios, definir atributos de arquivo e encontrar arquivos no Linux - Parte 3

Recentemente, a fundação Linux começou o LFCs (Linux Foundation Certified Sysadmin) Certificação, um novo programa cujo objetivo é permitir que indivíduos de todos os cantos do mundo tenham acesso a um exame, que, se aprovado, certifica que a pessoa é conhecedora de executar tarefas básicas de administração do sistema intermediário nos sistemas Linux. Isso inclui apoiar sistemas e serviços já executando, juntamente com a solução de problemas e a análise de primeiro nível, além da capacidade de decidir quando escalar problemas para as equipes de engenharia.

Linux Foundation Certified Sysadmin - Parte 3

Assista ao vídeo abaixo que dá a idéia sobre o programa de certificação Linux Foundation.

Esta postagem é a Parte 3 de uma série de 10-Tutorial, aqui nesta parte, abordaremos como arquivar/compactar arquivos e diretórios, definir atributos de arquivo e encontrar arquivos no sistema de arquivos, necessários para o exame de certificação LFCS.

Ferramentas de arquivamento e compressão

Um arquivo de arquivamento agrupa um conjunto de arquivos em um único arquivo independente que podemos fazer backup para vários tipos de mídia, transferir por uma rede ou enviar por e -mail. O utilitário de arquivamento mais usado em Linux é alcatrão. Quando um utilitário de arquivamento é usado junto com uma ferramenta de compressão, permite reduzir o tamanho do disco necessário para armazenar os mesmos arquivos e informações.

A utilidade tar

alcatrão pacotes um grupo de arquivos em um único arquivo (comumente chamado de arquivo alcatrão ou tarball). O nome originalmente representava o arquiver de fita, mas devemos observar que podemos usar essa ferramenta para arquivar dados para qualquer tipo de mídia escritos (não apenas para fitas). Alcatrão é normalmente usado com uma ferramenta de compressão, como gzip, BZIP2, ou xz Para produzir um tarball comprimido.

Sintaxe básica:
# tar [options] [Pathname…] 

Onde .. representa a expressão usada para especificar quais arquivos devem ser agidos.

Comandos de alcatrão mais comumente usados
Opção longa Abreviação Descrição
 -criar  c  Cria um arquivo alcatrão
 -concatenar  A  Anexa arquivos de alcatrão a um arquivo
 -acrescentar  r  Anexa arquivos até o final de um arquivo
 -atualizar  você  Anexa os arquivos mais recentes do que a cópia no arquivo
 -diff ou -compare  d  Encontre diferenças entre o arquivo e o sistema de arquivos
 -Arquivo de arquivo  f  Use Arquivo Arquivo ou Arquivo de Dispositivos
 -lista  t  Lista o conteúdo de um tarball
 -extrato ou -et  x  Extrair arquivos de um arquivo
Modificadores de operação normalmente usados
Opção longa Abreviação Descrição
 -diretório diretor  C  Alterações no diretório DIR antes de executar operações
 -MEMBRA-Permissões  p  Preserva as permissões originais
 -detalhado  v  Lista todos os arquivos lidos ou extraídos. Quando essa bandeira é usada junto com -list, os tamanhos de arquivo, a propriedade e os carimbos de hora são exibidos.
 -verificar  C  Verifica o arquivo depois de escrevê -lo
 -exclua o arquivo  -  Exclui o arquivo do arquivo
 -exclude = padrão  X  Excluir arquivos, dados como um padrão
 -gzip ou -gunzip  z  Processa um arquivo através do GZIP
 -BZIP2  j  Processa um arquivo através do BZIP2
 -xz  J  Processa um arquivo através do XZ

Gzip é a ferramenta de compressão mais antiga e fornece a menor compressão, enquanto BZIP2 fornece compactação aprimorada. Além disso, xz é o mais novo, mas (geralmente) fornece a melhor compressão. Essas vantagens da melhor compressão têm um preço: o tempo necessário para concluir a operação e os recursos do sistema usados ​​durante o processo.

Normalmente, alcatrão arquivos compactados com esses utilitários têm .gz, .BZ2, ou .xz extensões, respectivamente. Nos exemplos a seguir, usaremos estes arquivos: file1, file2, file3, file4 e file5.

Agrupamento e compactação com gzip, bzip2 e xz

Agrupe todos os arquivos no diretório de trabalho atual e compacte o pacote resultante com gzip, BZIP2, e xz (Observe o uso de uma expressão regular para especificar quais arquivos devem ser incluídos no pacote - isso é para impedir a ferramenta de arquivamento para agrupar as tarballs criadas nas etapas anteriores).

# tar czf myfiles.alcatrão.arquivo gz [0-9] # tar cjf myfiles.alcatrão.arquivo bz2 [0-9] # tar cjf myfile.alcatrão.Arquivo XZ [0-9] 
Compactar vários arquivos
Listando o conteúdo de um tarball e atualizando / anexando arquivos para o pacote

Liste o conteúdo de um tarball e exiba as mesmas informações que uma lista de diretório longa. Observe que atualizar ou acrescentar As operações não podem ser aplicadas diretamente aos arquivos compactados (se você precisar atualizar ou anexar um arquivo a um tarball compactado, precisar.

# tar tvf [tarball] 
Listar o conteúdo do arquivo

Execute qualquer um dos seguintes comandos:

# gzip -d myfiles.alcatrão.gz [ # 1] # bzip2 -d myfiles.alcatrão.bz2 [ # 2] # xz -d myfiles.alcatrão.xz [#3] 

Então

# tar - -Delete -Fil -Files.TAR FILE4 (Exclui o arquivo dentro do tarball) # tar -update -Fil -Files MyFiles.TAR FILE4 (adiciona o arquivo atualizado) 

e

# gzip myfiles.alcatrão [se você escolher # 1 acima] # bzip2 myfiles.alcatrão [se você escolher # 2 acima] # xz myfiles.alcatrão [se você escolher #3 acima] 

Finalmente,

# tar tvf [tarball] #Again 

e comparar a data e a hora da modificação de arquivo4 com as mesmas informações mostradas anteriormente.

Excluindo tipos de arquivo

Suponha que você queira executar um backup de usuário lar diretórios. Uma boa prática de sysadmin seria (também pode ser especificada pelas políticas da empresa) para excluir todos os arquivos de vídeo e áudio de backups.

Talvez sua primeira abordagem seja excluir do backup de todos os arquivos com um .mp3 ou .MP4 extensão (ou outras extensões). E se você tiver um usuário inteligente que possa alterar a extensão para .TXT ou .BKP, Sua abordagem não fará muito bem. Para detectar um arquivo de áudio ou vídeo, você precisa verificar o tipo de arquivo com arquivo. O script de shell a seguir fará o trabalho.

#!/bin/bash # Passe o diretório para fazer backup como primeiro argumento. Dir = $ 1 # Crie o tarball e compacte -o. Exclua arquivos com a string mpeg em seu tipo de arquivo. # -Se o tipo de arquivo contém a string mpeg, $? (O status de saída do comando executado mais recentemente) expande para 0, e o nome do arquivo é redirecionado para a opção de exclusão. Caso contrário, ele se expande para 1. # -Ep $? é igual a 0, adicione o arquivo à lista de arquivos a serem backup. Tar x <(for i in $DIR/*; do file $i | grep -i mpeg; if [ $? -eq 0 ]; then echo $i; fi;done) -cjf backupfile.tar.bz2 $DIR/* 
Exclua arquivos no alcatrão
Restaurando backups com permissões de preservação de alcatrão

Você pode restaurar o backup ao diretório inicial do usuário original (user_restore neste exemplo), preservando as permissões, com o seguinte comando.

# tar xjf backupfile.alcatrão.BZ2-Diretório User_restore-Same-Permissions 
Restaurar arquivos do arquivo

Leia também:

  1. 18 Exemplos de comando TAR no Linux
  2. DTRX - Uma ferramenta de arquivo inteligente para Linux

Usando o comando find para pesquisar arquivos

O encontrar O comando é usado para pesquisar recursivamente através de árvores de diretório por arquivos ou diretórios que correspondem a certas características e podem imprimir os arquivos ou diretórios correspondentes ou executar outras operações nas partidas.

Normalmente, procuraremos por nome, proprietário, grupo, tipo, permissões, data e tamanho.

Sintaxe básica:

# Find [Directory_to_Search] [Expression]

Encontrar arquivos recursivamente de acordo com o tamanho

Encontre todos os arquivos (-f) no diretório atual (.) e 2 subdiretos abaixo (-MaxDepth 3 inclui o diretório de trabalho atual e 2 níveis abaixo) cujo tamanho (-tamanho) é melhor que 2 MB.

# encontrar . -MaxDepth 3 -Type F -Size +2m 
Encontre arquivos com base no tamanho
Encontrar e excluir arquivos que correspondem a um determinado critério

Arquivos com 777 As permissões às vezes são consideradas uma porta aberta para atacantes externos. De qualquer maneira, não é seguro deixar alguém fazer qualquer coisa com arquivos. Vamos adotar uma abordagem bastante agressiva e excluí -los! ('' + é usado para "coletar" os resultados da pesquisa).

# find /home /usuário -perm 777 -exec rm '' + 
Encontre arquivos com 777Permission
Encontrando arquivos por atime ou mtime

Pesquise arquivos de configuração em /etc que foram acessados ​​(-um tempo) ou modificado (-mtime) mais (+180) ou menos (-180) que 6 meses atrás ou exatamente 6 meses antes (180).

Modifique o seguinte comando conforme o exemplo abaixo:

# encontre /etc -Iname "*.Conf "-mtime -180 -print 
Encontre arquivos modificados

Leia também: 35 Exemplos práticos do comando linux 'find'

Permissões de arquivo e atributos básicos

O primeiro 10 caracteres na saída de ls -l são os atributos do arquivo. O primeiro desses caracteres é usado para indicar o tipo de arquivo:

  1. - : um arquivo regular
  2. -d : um diretório
  3. -eu : um vínculo simbólico
  4. -c : um dispositivo de caractere (que trata os dados como um fluxo de bytes, eu.e. um terminal)
  5. -b : um dispositivo de bloco (que lida com dados em blocos, eu.e. dispositivos de armazenamento)

Os próximos nove caracteres dos atributos do arquivo são chamados de modo de arquivo e representam a leitura (r), escrever (c) e executar (x) Permissões do proprietário do arquivo, o proprietário do grupo do arquivo e o restante dos usuários (comumente referido como "o mundo").

Enquanto a permissão de leitura em um arquivo permite que o mesmo seja aberto e lido, a mesma permissão em um diretório permite que seu conteúdo seja listado se a permissão de execução também for definida. Além disso, a permissão de execução em um arquivo permite que ele seja tratado como um programa e execução, enquanto em um diretório permite que o mesmo seja CD'ed nele.

As permissões de arquivo são alteradas com o chmod Comando, cuja sintaxe básica é a seguinte:

# chmod [new_mode] arquivo 

Onde new_mode é um número octal ou uma expressão que especifica as novas permissões.

O número octal pode ser convertido de seu equivalente binário, que é calculado a partir das permissões de arquivo desejadas para o proprietário, o grupo e o mundo, como segue:

A presença de uma certa permissão é igual a um poder de 2 (r = 22, W = 21, x = 20), enquanto sua ausência equivale a 0. Por exemplo:

Permissões de arquivo

Para definir as permissões do arquivo como acima na forma octal, digite:

# chmod 744 myfile 

Você também pode definir o modo de um arquivo usando uma expressão que indica os direitos do proprietário com a carta você, os direitos do proprietário do grupo com a carta g, E o resto com o. Todos esses "indivíduos”Pode ser representado ao mesmo tempo com a carta a. As permissões são concedidas (ou revogadas) com o + ou - sinais, respectivamente.

Revogar a permissão de executar um script de shell para todos os usuários

Como explicamos anteriormente, podemos revogar uma certa permissão que a antecedendo com o sinal de menos e indicando se ele precisa ser revogado para o proprietário, o proprietário do grupo ou todos os usuários. A frase abaixo pode ser interpretada da seguinte maneira: Modo de mudança para todos (a) usuários, revogar (-) Execute a permissão (x).

# chmod a-x backup.sh 

Concedendo permissões de leitura, gravação e execução para um arquivo para o proprietário e o proprietário do grupo, e leia permissões para o mundo.

Quando usamos um número octal de três dígitos para definir permissões para um arquivo, o primeiro dígito indica as permissões para o proprietário, o segundo dígito do proprietário do grupo e o terceiro dígito para todos os outros:

  1. Proprietário: (r = 22 + w = ​​21 + x = 20 = 7)
  2. Proprietário do grupo: (r = 22 + w = ​​21 + x = 20 = 7)
  3. Mundo: (r = 22 + w = ​​0 + x = 0 = 4),
# chmod 774 myfile 

Com o tempo e com a prática, você poderá decidir qual método alterar um modo de arquivo funciona melhor para você em cada caso. Uma longa listagem de diretórios também mostra o proprietário do arquivo e o proprietário do grupo (que servem como um controle de acesso rudimentar e eficaz aos arquivos em um sistema):

Listagem de arquivos Linux

A posse de arquivos é alterada com o chown comando. O proprietário e o proprietário do grupo podem ser alterados ao mesmo tempo ou separadamente. Sua sintaxe básica é a seguinte:

# Usuário CHOW: arquivo de grupo 

Onde pelo menos o usuário ou o grupo precisam estar presentes.

Poucos exemplos

Alterar o proprietário de um arquivo para um determinado usuário.

# Chown Gacanepa enviado 

Alterar o proprietário e o grupo de um arquivo para um usuário específico: par de grupos.

# CHOW 

Alterando apenas o proprietário do grupo de um arquivo para um determinado grupo. Observe o cólon antes do nome do grupo.

# chown: gacanepa email_body.TXT 

Conclusão

Como um sysadmin, você precisa saber como criar e restaurar backups, como encontrar arquivos em seu sistema e alterar seus atributos, juntamente com alguns truques que podem facilitar sua vida e impedir que você encontre problemas futuros.

Espero que as dicas fornecidas no presente artigo ajudem você a alcançar esse objetivo. Sinta -se à vontade para adicionar suas próprias dicas e idéias na seção de comentários para o benefício da comunidade. desde já, obrigado!

Links de referência
  1. Sobre os LFCs
  2. Por que obter uma certificação Linux Foundation?
  3. Registre -se para o exame LFCS
Torne -se um administrador de sistema certificado Linux