Hay muchos usos del comando lsof en el sistema Linux. La recuperación de archivos borrados accidentalmente es uno de los usos, especialmente la recuperación de los archivos de registro. La siguiente serie lo presentará a todos. Linux usa el comando lsof para recuperar archivos perdidos.
Requisitos previos: Después de la eliminación del archivo, el proceso sigue siendo accesible con, por lo tanto, más adecuado para el tipo de archivo de registro para la recuperación.
Cuando una computadora con Linux está comprometida, es común que los archivos de registro se eliminen para enmascarar el rastro del atacante. Los errores administrativos también pueden causar la eliminación accidental de archivos importantes, como la eliminación accidental del registro de transacciones activas de la base de datos al limpiar registros antiguos. A veces estos archivos pueden ser recuperados por lsof.
Cuando un proceso abre un archivo, siempre que el proceso lo mantenga abierto, incluso si se elimina, aún existe en el disco. Esto significa que el proceso no sabe que el archivo se ha eliminado, aún puede leer y escribir en el descriptor de archivo provisto cuando se abre el archivo. Excepto por este proceso, este archivo es invisible porque su nodo de índice de directorio correspondiente ha sido eliminado.
En el directorio /proc, contiene varios archivos que reflejan el kernel y el árbol de procesos. El directorio /proc monta un área que está asignada en la memoria, por lo que estos archivos y directorios no existen en el disco, por lo que cuando leemos y escribimos en estos archivos, en realidad se obtienen de la memoria. Información relacionada. La mayor parte de la información relacionada con lsof se almacena en un directorio que lleva el nombre del PID del proceso, es decir, /proc /1234 contiene información sobre el proceso con el PID 1234. Hay varios archivos en cada directorio de procesos que permiten que la aplicación simplemente entienda el espacio de memoria del proceso, la lista de descriptores de archivos, los enlaces simbólicos a los archivos en el disco y otra información del sistema. El programa lsof utiliza esta información y otra información sobre el estado interno del núcleo para producir su salida. Así que lsof puede mostrar información como el descriptor de archivo del proceso y el nombre de archivo asociado. Es decir, podemos encontrar información sobre el archivo accediendo al descriptor de archivos del proceso. Cuando un archivo en el sistema se borra accidentalmente, siempre que haya procesos en el sistema que acceden al archivo, podemos restaurar el contenido del archivo desde el directorio /proc a través de lsof.
Si el archivo /var /log /messages se elimina debido a una operación incorrecta, entonces el método para restaurar el archivo /var /log /messages es el siguiente: Primero use lsof para ver si hay un proceso abierto actualmente /El archivo var /logmessages es el siguiente:
# lsof |
Grep /var /log /messages
COMMAND PID USER FD TIPO DISPOSITIVO TAMAÑO /OFF NOMBRE DE NODO
syslogd 14572 root 1w REG 253,0 5584 1737237 /var /log /messages
#rm – f /var /log /messages
# lsof |
Grep /var /log /messages
COMMAND PID USER FD TIPO DISPOSITIVO TAMAÑO /OFF NOMBRE DE NODO
syslogd 14572 root 1w REG 253,0 5584 1737237 /var /log /messages (eliminado) < Br>
De la información anterior, puede ver que el descriptor de archivo del archivo abierto PID 14572 (syslogd) es 1. También puede ver que /var /log /messages ha sido marcado para su eliminación. Entonces podemos ver la información correspondiente en /proc /14572 /fd /1 (cada archivo con nombre digital debajo de fd indica el descriptor de archivo correspondiente al proceso), de la siguiente manera:
# tail -n 10 /proc /14572 /fd /1
Feb 4 20:02:25 host191 kernel: klogd 1.4.1, fuente de registro = /proc /kmsg iniciado.
Feb 4 20:02: 45 host191 root: aaa
4 de febrero 20:05:07 host191 dhclient: DHCPREQUEST en eth0 a 192.168.0.254 puerto 67
4 de febrero 20:05:07 host191 dhclient: DHCPACK desde 192.168. 0.254
4 de febrero 20:05:07 host191 dhclient: vinculado a 192.168.0.191 - renovación en 718 segundos.
4 de febrero 20:15:50 host191 syslogd 1.4.1: reinicio.
4 de febrero 20:15:50 host191 kernel: klogd 1.4.1, fuente de registro = /proc /kmsg iniciado.
4 de febrero 20:17:05 host191 dhclient: DHCPREQUEST en eth0 para 192.168.0.254 puerto 67
4 de febrero 20:17:05 host191 dhclient: DHCPACK from 192.168.0.254
4 de febrero 20:17:05 host191 dhclient: enlazado a 192.168.0.19 1: renovación en 804 segundos. # Cat /proc /14572 /fd /1》 /var /log /messages
Anterior123Página siguiente Total 3 páginas
En la familia Linux, Android es, sin duda, el más deslumbrante. El desarrollo de Android también se
Ubuntu es un tipo de sistema Linux. La característica más importante es que tiene u
En los sistemas Linux, los comandos cal y ncal usan el calendario para mostrar el c
Entre los muchos comandos en Linux, el comando Sosreport puede generar informes de diagnóstico del s
Cómo limpiar el swap, buffer y cache
Pasos de instalación de Linux utilizando Telnet
Linux solicita gzip: stdin: ¿no al extraer el archivo tar.gz?
Diferencias entre Apache y Tomcat en Linux
Cómo instalar y configurar Cgroup en Linux
¿Qué debo hacer si Ubuntu muestra un error de lista al abrir el centro de software?
Linux borra el volumen físico de PV en LVM
Ubuntu usa el comando para eliminar el repositorio de PPA.
Resumen de ejemplos de operación de comando grep en el sistema Linux
¿Cuáles son las relaciones entre los procesos en el sistema Linux?
Ejemplo de operación de instalación automática de Linux
¿Cuáles son los comandos para ver el contenido de un archivo en un sistema Linux?
Microsoft lanza el complemento Delve Analytics para Office, que administra el tiempo
Compatibilidad con el juego Win10 Super WinXP lanzado oficialmente el 29 de julio
¿Cómo se ve Win7 /Win8 en el sistema informático de 65 bits o 64 bits?
Win8 y otros dispositivos después de la configuración de DPI son demasiado grandes para restaurar
Cómo resolver el contenido de la infracción en el nombre del archivo Thunder
¿Cómo coloco un cronómetro del sistema Win10 en el menú de inicio?
¿El navegador 2345 desinstala las 2 formas más limpias de introducir?