Table of Contents
LFCS: Cómo archivar/comprimir archivos y directorios, establecer atributos de archivo y encontrar archivos en Linux-Parte 3
Recientemente, Linux Foundation inició la certificación LFCS. ( Linux Foundation Certified Sysadmin. , un nuevo programa cuyo propósito es permitir que personas de todos los rincones del mundo tengan acceso a un examen, que si se aprueba, certifica que la persona está capacitada para realizar tareas de administración de sistemas básicas a intermedias en sistemas Linux. Esto incluye la compatibilidad con los sistemas y servicios que ya están en ejecución, junto con la resolución de problemas y el análisis de primer nivel, además de la capacidad de decidir cuándo derivar los problemas a los equipos de ingeniería.
Administrador de sistemas certificado por la Fundación Linux-Parte 3
Por favor, mire el video a continuación que da una 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 f archivos en el sistema de archivos, que son necesarios 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 respaldar a 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 tar . Cuando se utiliza 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 tar
tar incluye un grupo de archivos juntos en un solo archivo (comúnmente llamado archivo tar o tarball). El nombre originalmente significaba archivador de cinta, pero debemos tener en cuenta que podemos usar esta herramienta para archivar datos en cualquier tipo de medio grabable (no solo en cintas). Tar se utiliza normalmente con una herramienta de compresión como gzip , bzip2 o xz para producir un tarball comprimido.
Sintaxis básica: # tar [opciones] [nombre de ruta …] freestar.config.enabled_slots.push
Donde … representa la expresión utilizada para especificar sobre qué archivos se debe actuar.
Comandos tar más utilizados Opción larga Abreviatura Descripción –create c Crea un archivo tar –Concatenar A Agrega archivos tar a un archivo –anexar r Agrega archivos al final de un archivo –actualizar u Agrega archivos más recientes que la copia en el archivo –diff o –compare d Encuentra diferencias entre el archivo y el sistema de archivos –archivo de archivos f Usar archivo o dispositivo ARCHIVE –list t Muestra el contenido de un tarball –extract o –get x Extrae archivos de un archivo. Modificadores de operación usados normalmente Opción larga Abreviatura Descripción –Directory dir C Cambia al directorio dir antes de realizar las operaciones –same-permissions p Conserva los permisos originales –verbose v Lista todos los archivos leídos o extraídos. Cuando se utiliza esta marca junto con –list, se muestran los tamaños de archivo, la propiedad y las marcas de tiempo. –Verify W Verifica el archivo después de escribirlo –excluir archivo-Excluye archivo del archivo –exclude = 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 (normalmente) 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, los archivos tar comprimidos con estas utilidades tienen Extensiones .gz , .bz2 o .xz , respectivamente. En los siguientes ejemplos usaremos estos archivos: archivo1, archivo2, archivo3, archivo4 y archivo5.
Agrupar y comprimir con gzip, bzip2 y xz
Agrupe todos los archivos en el directorio de trabajo actual y comprima 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 los archivos tar creados en los pasos anteriores).
# tar czf myfiles.tar.gz archivo [0-9] # tar cjf myfiles.tar.bz2 archivo [0-9] # tar cJf myfile.tar.xz archivo [0-9]
Comprimir Mul Archivos múltiples Listar 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 larga de directorios. Tenga en cuenta que las operaciones de actualizar o agregar no se pueden aplicar directamente a los archivos comprimidos (si necesita actualizar o agregar un archivo a un tarball comprimido, debe descomprimir el archivo tar y actualizar/agregar a él, luego comprimir nuevamente).
# tar tvf [tarball]
Listar el contenido del archivo
Ejecute cualquiera de los siguientes comandos:
# gzip-d myfiles.tar.gz [# 1] # bzip2-d myfiles.tar.bz2 [# 2] # xz-d myfiles.tar.xz [ # 3]
Entonces
# tar–delete–file myfiles.tar file4 (elimina el archivo dentro del tarbal l) # tar–update–file myfiles.tar file4 (agrega el archivo actualizado)
y
# gzip myfiles.tar [si elige el # 1 arriba] # bzip2 myfiles.tar [si lo elige # 2 arriba] # xz myfiles.tar [si elige el # 3 arriba]
Finalmente,
# tar tvf [tarball] # de nuevo
y compare la fecha y hora de modificación de archivo4 con la misma información que se mostró anteriormente.
Excluyendo tipos de archivos
Suponga que desea realizar una copia de seguridad de los directorios de inicio del usuario. Una buena práctica de administrador de sistemas sería (también puede estar especificada por las políticas de la empresa) excluir todos los archivos de video y audio de las copias de seguridad.
Quizás su primer enfoque sería excluir de la copia de seguridad todos los archivos con un Extensión .mp3 o .mp4 (u otras extensiones). ¿Qué pasa si tiene un usuario inteligente que puede cambiar la extensión a .txt o .bkp , su enfoque no le servirá de mucho. Para detectar un archivo de audio o video, debe verificar su tipo de archivo con file. El siguiente script de shell hará el trabajo.
#!/Bin/bash # Pasar el directorio a la copia de seguridad como primer argumento. DIR = $ 1 # Crea el tarball y comprímelo. Excluya 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 del archivo se redirige a la opción de exclusión. De lo contrario, se expande a 1. #-Si $? es igual a 0, agregue el archivo a la lista de archivos a respaldar. tar X <(para i en $ DIR/*; do file $ i | grep-i mpeg; if [$?-eq 0]; luego echo $ i; fi; hecho)-cjf backupfile.tar.bz2 $ DIR/*
Excluir archivos en tar Restauración de copias de seguridad con permisos de conservación de tar
A continuación, puede restaurar la copia de seguridad en el directorio de inicio del usuario original ( user_restore en este ejemplo), conservando los permisos, con el siguiente comando.
# tar xjf backupfile.tar.bz2–directory user_restore–same-permissions
Restaurar archivos del archivo
Leer también :
- 18 ejemplos de comandos tar en Linux
- Dtrx: una herramienta de archivo inteligente para Linux
Uso del comando find para buscar archivos
El comando find se utiliza para buscar de forma recursiva a través de árboles de directorios archivos o directorios que coincidan con ciertas características, y luego puede 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_para_búsqueda] [expresión]
Buscar archivos de forma recursiva según el tamaño
Buscar 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 ) sea superior a 2 MB .
# buscar.-maxdepth 3-type f-size + 2M
Buscar archivos según Tamaño Encontrar y eliminar archivos que coincidan con ciertos criterios
Los archivos con permisos 777 a veces se consideran una puerta abierta a atacantes externos. De cualquier manera, no es seguro permitir que nadie haga nada con los archivos. ¡Tomaremos un enfoque bastante agresivo y los eliminaremos! (‘ ‘ + se utiliza para “recopilar” los resultados de la búsqueda).
# find/home/user-perm 777-exec rm ‘ ‘+
Buscar archivos con permisos 777 Buscar archivos por hora o por hora
Busque archivos de configuración en /etc a los que se haya accedido (-atime ) o modificado (-mtime ) más ( +180 ) o menos (-180 ) que hace 6 meses o hace exactamente 6 meses ( 180 ).
Modifique el siguiente comando según el ejemplo siguiente:
# find/etc-iname “*. conf “-mtime-180-print
Buscar archivos modificados
Leer también : 35 Ejemplos prácticos del comando ‘buscar’ de Linux
Permisos de archivo y atributos básicos
Los primeros 10 caracteres en la salida de ls-l son los atributos del archivo. El primero de estos caracteres se utiliza para indicar el tipo de archivo:
- –: un archivo normal
- -d : un directorio
- -l : un enlace simbólico
- -c : un dispositivo de caracteres (que trata los datos como un flujo de bytes, es decir, una terminal)
- -b : un dispositivo de bloque (que maneja datos en bloques, es decir, dispositivos de almacenamiento)
Los siguientes nueve caracteres de los atributos del archivo se denominan modo de archivo y representan los permisos de lectura ( r ), escritura ( w ) y ejecución ( x ) del propietario del archivo, el propietario del grupo del archivo, y el resto de los usuarios (comúnmente conocido 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 aparecer en la lista si el permiso de ejecución también está establecido. 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 el mismo sea cd’ed en él.
Los permisos de archivo se cambian con el chmod , cuya sintaxis básica es la siguiente:
# chmod [new_mode] file
Donde new_mode es un número octal o una expresión que especifica el nuevo permisos.
El número octal se puede convertir a partir de su equivalente binario, que se calcula a partir de los permisos de archivo deseados para el propietario, el grupo y el mundo, de la siguiente manera:
El la presencia de un permiso determinado equivale a una potencia de 2 ( r = 22 , w = 21 , x = 20 ), mientras que su ausencia equivale a 0 . Por ejemplo:
Permisos de archivos
Para configurar los permisos de archivos como se indicó anteriormente en forma octal, escriba:
# chmod 744 myfile
También puede establecer el modo de un archivo usando una expresión que indique los derechos del propietario con la letra u , los derechos del propietario del grupo con la letra g y el resto con o . Todos estos “ individuos ” se pueden representar al mismo tiempo con la letra a . Los permisos se otorgan (o revocan) con los signos + o –, respectivamente.
Revocación del permiso de ejecución para un script de shell para todos los usuarios
Como explicamos antes, podemos revocar cierto permiso anteponiéndolo con el signo menos e indicando si es necesario revocarlo para el propietario, el propietario del grupo o todos los usuarios. La frase a continuación se puede interpretar de la siguiente manera: Cambiar modo para todos ( a ) usuarios, revocar (–) permiso de ejecución ( x ) .
# chmod ax backup.sh
Otorgar permisos de lectura, escritura y ejecución para un archivo al propietario y al propietario del grupo, y 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:
- Propietario : (r = 22 + w = 21 + x = 20 = 7)
- Propietario del grupo : (r = 22 + w = 21 + x = 20 = 7)
- Mundo : (r = 22 + w = 0 + x = 0 = 4),
# chmod 774 myfile
Con el tiempo y la práctica, podrá decidir qué método para cambiar un modo de archivo funciona mejor para usted en cada caso. Una lista de directorio larga también muestra el propietario del archivo y el propietario del grupo (que sirven 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 comando chown . El propietario y el propietario del grupo se pueden cambiar al mismo tiempo o por separado. Su sintaxis básica es la siguiente:
# chown user: group file
Donde al menos el usuario o el grupo deben estar presentes.
Pocos ejemplos
Cambiar el propietario de un archivo a un determinado usuario .
# chown gacanepa enviado
Cambiando el propietario y el grupo de un archivo a un usuario específico: par de grupo.
# chown gacanepa: gacanepa TestFile
Cambiando solo el propietario del grupo de un archivo a cierto grupo. Tenga en cuenta los dos puntos antes del nombre del grupo.