LFCS Cómo archivar/comprimir archivos y directorios, configurar atributos del archivo y encontrar archivos en Linux - Parte 3

LFCS Cómo archivar/comprimir archivos y directorios, configurar atributos del archivo y encontrar archivos en Linux - Parte 3

Recientemente, la Fundación Linux comenzó la LFCS (Sysadmin certificado por la Fundación Linux) Certificación, un nuevo programa cuyo propósito es permitir que las personas de todos los rincones del mundo tengan acceso a un examen, que si se aprueba, certifica que la persona tiene conocimientos para realizar tareas de administración de sistemas básicos a intermedios en sistemas Linux. Esto incluye admitir sistemas y servicios ya en ejecución, junto con la resolución de problemas y análisis de primer nivel, además de la capacidad de decidir cuándo aumentar los problemas a los equipos de ingeniería.

Sysadmin certificado por la Fundación Linux - Parte 3

Mire el siguiente video que da la idea sobre el programa de certificación de la Fundación Linux.

Esta publicación es la parte 3 de una serie de 10 tutoriales, aquí en esta parte, cubriremos cómo archivar/comprimir archivos y directorios, establecer atributos de archivo y encontrar archivos en el sistema de archivos, que se requieren para el examen de certificación LFCS.

Herramientas de archivo y compresión

Una herramienta de archivo de archivos agrupa un conjunto de archivos en un solo archivo independiente que podemos hacer una copia de seguridad de varios tipos de medios, transferir a través de una red o enviar por correo electrónico. La utilidad de archivo más utilizada en Linux es alquitrán. Cuando se usa una utilidad de archivo junto con una herramienta de compresión, permite reducir el tamaño del disco que se necesita para almacenar los mismos archivos e información.

La utilidad del alquitrán

alquitrán Bundle un grupo de archivos en un solo archivo (comúnmente llamado archivo de alquitrán o tarball). El nombre originalmente era para el archivador de cintas, pero debemos tener en cuenta que podemos usar esta herramienta para archivar datos a cualquier tipo de medios escritables (no solo para cintas). TAR se usa normalmente con una herramienta de compresión como gzip, bzip2, o xz para producir un tarball comprimido.

Sintaxis básica:
# alquitrán [opciones] [PathName ...] 

Dónde representa la expresión utilizada para especificar en qué archivos se deben actuar.

Los comandos de alquitrán más utilizados
Opción larga Abreviatura Descripción
 -crear  C  Crea un archivo de alquitrán
 -concatenar  A  Agrega los archivos TAR a un archivo
 -adjuntar  riñonal  Agrega archivos al final de un archivo
 -actualizar  u  Agrega archivos más nuevos que copiar en el archivo
 -diff o -compare  d  Encontrar diferencias entre el archivo y el sistema de archivos
 -archivo de archivo  F  Utilice archivo de archivo o archivo de dispositivo
 -lista  T  Enumera el contenido de un tarball
 -extraer o -get  X  Extrae archivos de un archivo
Modificadores de operación normalmente utilizados
Opción larga Abreviatura Descripción
 -directorio  C  Cambios en Directorio Dir antes de realizar operaciones
 -perpetuo  pag  Conserva permisos originales
 -verboso  V  Enumera todos los archivos leídos o extraídos. Cuando se usa esta bandera junto con la lista, se muestran los tamaños de archivo, la propiedad y las marcas de tiempo.
 -verificar  W  Verifica el archivo después de escribirlo
 -excluir archivo  -  Excluye el archivo del archivo
 -excluir = patrón  X  Excluir archivos, dado como patrón
 -GZIP o -GUNZIP  z  Procesa un archivo a través de GZIP
 -bzip2  j  Procesa un archivo a través de BZIP2
 -xz  J  Procesa un archivo a través de xz

Gzip es la herramienta de compresión más antigua y proporciona la menor compresión, mientras que bzip2 proporciona una compresión mejorada. Además, xz es el más nuevo pero (generalmente) proporciona la mejor compresión. Estas ventajas de la mejor compresión tienen un precio: el tiempo que lleva completar la operación y los recursos del sistema utilizados durante el proceso.

Normalmente, alquitrán Los archivos comprimidos con estas utilidades tienen .GZ, .bz2, o .xz extensiones, respectivamente. En los siguientes ejemplos utilizaremos estos archivos: File1, File2, File3, File4 y File5.

Agrupación y comprimir con GZIP, BZIP2 y XZ

Agrupar todos los archivos en el directorio de trabajo actual y comprimir el paquete resultante con gzip, bzip2, y xz (Tenga en cuenta el uso de una expresión regular para especificar qué archivos deben incluirse en el paquete; esto es para evitar que la herramienta de archivo agrupe las tarballas creadas en pasos anteriores).

# tar czf myfiles.alquitrán.archivo gz [0-9] # tar cjf myfiles.alquitrán.archivo bz2 [0-9] # tar cjf myfile.alquitrán.archivo xz [0-9] 
Comprimir múltiples archivos
Enumerar el contenido de un tarball y actualizar / agregar archivos al paquete

Enumere el contenido de un tarball y muestre la misma información que una lista de directorio largo. Tenga en cuenta que actualizar o adjuntar Las operaciones no se pueden aplicar a los archivos comprimidos directamente (si necesita actualizar o agregar un archivo a un tarball comprimido, debe desconectar el archivo TAR y actualizar / agregarlo, luego comprimir nuevamente).

# Tar TVF [Tarball] 
Lista de contenido de archivo

Ejecute cualquiera de los siguientes comandos:

# gzip -d myfiles.alquitrán.GZ [ # 1] # bzip2 -d myfiles.alquitrán.BZ2 [ # 2] # xz -d myfiles.alquitrán.XZ [#3] 

Entonces

# Tar --elete -File myfiles.TAR FILE4 (elimina el archivo dentro del tarball) # tar -update - -archivo myfiles.TAR FILE4 (agrega el archivo actualizado) 

y

# gzip myfiles.alquitrán [si eliges # 1 arriba] # bzip2 myfiles.alquitrán [si eliges # 2 arriba] # xz myfiles.alquitrán [si eliges #3 arriba] 

Finalmente,

# Tar TVF [Tarball] #AGAIN 

y comparar la fecha y hora de modificación de archivo4 con la misma información que se muestra anteriormente.

Excluyendo los tipos de archivos

Supongamos que desea realizar una copia de seguridad del usuario hogar directorios. Una buena práctica de Sysadmin sería (también se puede especificar por las políticas de la compañía) para excluir todos los archivos de video y audio de las copias de seguridad.

Tal vez su primer enfoque sería excluir de la copia de seguridad de todos los archivos con un .mp3 o .mp4 extensión (u otras extensiones). ¿Qué pasa si tiene un usuario inteligente que puede cambiar la extensión a .TXT o .BKP, Tu enfoque no te hará mucho bien. Para detectar un archivo de audio o video, debe verificar su tipo de archivo con el archivo. El siguiente script de shell hará el trabajo.

#!/bin/bash # pase el directorio para hacer una copia de seguridad como primer argumento. Dir = $ 1 # crea el tarball y comprimirlo. Excluir archivos con la cadena MPEG en su tipo de archivo. # -Si el tipo de archivo contiene la cadena MPEG, $? (El estado de salida del comando ejecutado más recientemente) se expande a 0, y el nombre de archivo se redirige a la opción de exclusión. De lo contrario, se expande a 1. # -IS $? igualmente 0, agregue el archivo a la lista de archivos que se realizarán. 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/* 
Excluir archivos en alquitrán
Restauración de copias de seguridad con permisos de preservación de alquitrán

Luego puede restaurar la copia de seguridad al directorio de inicio del usuario original (user_restore en este ejemplo), preservando los permisos, con el siguiente comando.

# Tar XJF Backupfile.alquitrán.BZ2--Directorio user_restore --Same-Permissions 
Restaurar archivos desde el archivo

Leer también:

  1. 18 ejemplos de comandos de alquitrán en Linux
  2. DTRX: una herramienta de archivo inteligente para Linux

Uso del comando Buscar archivos

El encontrar El comando se utiliza para buscar de recursiva a través de árboles de directorio para archivos o directorios que coinciden con ciertas características, y luego pueden imprimir los archivos o directorios coincidentes o realizar otras operaciones en las coincidencias.

Normalmente, buscaremos por nombre, propietario, grupo, tipo, permisos, fecha y tamaño.

Sintaxis básica:

# buscar [directorio_to_search] [expresión]

Encontrar archivos de manera recursiva según el tamaño

Encuentra todos los archivos (-F) en el directorio actual (.) y 2 subdirectorios a continuación (-Maxdepth 3 Incluye el directorio de trabajo actual y 2 niveles hacia abajo) cuyo tamaño (-tamaño) es mayor que 2 MB.

# encontrar . -Maxdepth 3 -Type F -tamaño +2m 
Buscar archivos basados ​​en el tamaño
Encontrar y eliminar archivos que coincidan con ciertos criterios

Archivos con 777 Los permisos a veces se consideran una puerta abierta a atacantes externos. De cualquier manera, no es seguro dejar que nadie haga nada con los archivos. Tomaremos un enfoque bastante agresivo y los eliminaremos! ('' + se usa para "recopilar" los resultados de la búsqueda).

# find /home /user -perm 777 -exec rm '' + 
Encuentre archivos con 777Permission
Encontrar archivos por atime o mtime

Buscar archivos de configuración en /etc que se ha accedido (-un momento) o modificado (-MITIA) más (+180) o menos (-180) que 6 hace meses o exactamente 6 Hace meses (180).

Modifique el siguiente comando según el siguiente ejemplo:

# encontrar /etc -iname "*.conf "-mtime -180 -impresión 
Encontrar archivos modificados

Leer también: 35 ejemplos prácticos del comando de Linux 'Find'

Permisos de archivo y atributos básicos

La primera 10 caracteres en la salida de LS -L son los atributos del archivo. El primero de estos caracteres se usa para indicar el tipo de archivo:

  1. - : un archivo regular
  2. -d : un directorio
  3. -l : un enlace simbólico
  4. -C : un dispositivo de caracteres (que trata los datos como un flujo de bytes, yo.mi. un terminal)
  5. -b : un dispositivo de bloque (que maneja los datos en bloques, yo.mi. dispositivos de almacenamiento)

Los siguientes nueve caracteres de los atributos del archivo se denominan modo de archivo y representan la lectura (riñonal), escribir (w) y ejecutar (X) Permisos del propietario del archivo, el propietario del grupo del archivo y el resto de los usuarios (comúnmente conocidos como "el mundo").

Mientras que el permiso de lectura en un archivo permite que el mismo se abra y lea, el mismo permiso en un directorio permite que su contenido se enumere si el permiso de ejecución también está configurado. Además, el permiso de ejecución en un archivo permite que se maneje como un programa y se ejecute, mientras que en un directorio permite que lo mismo.

Los permisos de archivo se cambian con el chmod Comando, cuya sintaxis básica es la siguiente:

File # chmod [new_mode] 

Dónde New_Mode es un número octal o una expresión que especifica los nuevos permisos.

El número octal se puede convertir de su equivalente binario, que se calcula a partir de los permisos de archivo deseados para el propietario, el grupo y el mundo, como sigue:

La presencia de cierto permiso es igual a un poder de 2 (r = 22, w = 21, x = 20), mientras que su ausencia equivale a 0. Por ejemplo:

Permisos de archivo

Para establecer los permisos del archivo como se indica anteriormente en forma octal, escriba:

# chmod 744 myfile 

También puede establecer el modo de un archivo utilizando una expresión que indique los derechos del propietario con la carta u, Los derechos del propietario del grupo con la carta gramo, y el resto con O. Todos estos "individuos"Se puede representar al mismo tiempo con la carta a. Los permisos se otorgan (o se revocan) con el + o - Signos, respectivamente.

Revocar el permiso de ejecutar para un script de shell a todos los usuarios

Como explicamos anteriormente, podemos revocar un cierto permiso preparándolo con el signo menos e indicar si debe revocarse para el propietario, el propietario del grupo o todos los usuarios. La siguiente línea se puede interpretar de la siguiente manera: Modo de cambio para todos (a) usuarios, revocar (-) ejecutar permiso (X).

# Copia de copia de seguridad de Chmod A-X.mierda 

Otorgar permisos de lectura, escritura y ejecución para un archivo al propietario y propietario del grupo, y los permisos de lectura para el mundo.

Cuando usamos un número octal de 3 dígitos para establecer permisos para un archivo, el primer dígito indica los permisos para el propietario, el segundo dígito para el propietario del grupo y el tercer dígito para todos los demás:

  1. Dueño: (r = 22 + w = ​​21 + x = 20 = 7)
  2. Propietario del grupo: (r = 22 + w = ​​21 + x = 20 = 7)
  3. Mundo: (r = 22 + w = ​​0 + x = 0 = 4),
# chmod 774 myfile 

Con el tiempo, y con la práctica, podrá decidir qué método cambiar un modo de archivo funciona mejor para usted en cada caso. Una larga lista de directorio también muestra al propietario del archivo y al propietario de su grupo (que sirve como un control de acceso rudimentario pero efectivo a los archivos en un sistema):

Listado de archivos de Linux

La propiedad del archivo se cambia con el queso dominio. El propietario y el propietario del grupo se pueden cambiar al mismo tiempo o por separado. Su sintaxis básica es la siguiente:

# Usuario de Chown: archivo de grupo 

Donde al menos el usuario o el grupo deben estar presentes.

Pocos ejemplos

Cambiar el propietario de un archivo a cierto usuario.

# Chown Gacanepa enviado 

Cambiar el propietario y el grupo de un archivo a un usuario específico: par de grupos.

# Chown Gacanepa: Gacanepa Testfile 

Cambiar solo al propietario del grupo de un archivo a un determinado grupo. Tenga en cuenta el colon antes del nombre del grupo.

# Chown: Gacanepa Email_Body.TXT 

Conclusión

Como sysadmin, debe saber cómo crear y restaurar copias de seguridad, cómo encontrar archivos en su sistema y cambiar sus atributos, junto con algunos trucos que pueden facilitar su vida y evitar que se encuentre con problemas futuros.

Espero que los consejos proporcionados en el presente artículo lo ayuden a lograr ese objetivo. Siéntase libre de agregar sus propios consejos e ideas en la sección de comentarios en beneficio de la comunidad. gracias de antemano!

Enlaces de referencia
  1. Sobre el LFCS
  2. ¿Por qué obtener una certificación de la Fundación Linux??
  3. Regístrese para el examen LFCS
Convertirse en administrador del sistema certificado por Linux