Com comprovar fitxers oberts a Linux

How Check Open Files Linux



És possible que us hagueu trobat amb la dita: Tot és un fitxer a Linux. Tot i que això no és del tot cert, sí que conté una sèrie de veritats.

Als sistemes Linux i Unix, tot és com un fitxer. Això significa que els recursos del sistema Unix tenen assignat un descriptor de fitxers, inclosos dispositius d'emmagatzematge, preses de xarxa, processos, etc.







Un descriptor de fitxers és un número únic que identifica un fitxer i altres dispositius d’entrada / sortida. Descriu els recursos i com hi accedeix el nucli. Penseu en això com una porta d’entrada als recursos de maquinari d’abstracció del nucli.



Malauradament, el concepte de descriptors de fitxers està fora de l’abast d’aquest tutorial; tingueu en compte l'enllaç que es proporciona a continuació per començar a obtenir més informació:



https://en.wikipedia.org/wiki/File_descriptor





Això significa que els sistemes Unix i similars a Unix com Linux utilitzen aquests fitxers molt. Com a usuari avançat de Linux, és increïblement útil veure els fitxers oberts i el procés i els usuaris que els utilitzen.

Aquest tutorial se centrarà en les maneres de veure els fitxers oberts i el procés o usuari responsable.



Prerequisits

Abans de començar, assegureu-vos que teniu:

  • Un sistema Linux
  • Usuari amb privilegis root o sudo

Si en teniu, comenceu:

Utilitat LSOF

Creat per Victor A Abell, List open files, o lsof en resum, és una utilitat de línia d’ordres que ens permet veure els fitxers oberts i els processos o usuaris que els han obert.

La utilitat lsof està disponible a les principals distribucions de Linux; tanmateix, és possible que no estigui instal·lat i, per tant, és possible que hagueu d'instal·lar-lo manualment.

Com instal·lar lsof a Debian / Ubuntu

Per instal·lar-lo a Debian, utilitzeu l'ordre:

suo apt-get update

suo apt-get installlsof-i

Com instal·lar a REHL / CentOS

Per instal·lar-lo a REHL i CentOS, utilitzeu l'ordre:

suoactualització dnf

suodnfinstal·larlsof

Com instal·lar a Arch

A Arch, truqueu al gestor de paquets mitjançant l'ordre:

suopacman-Seva

suopacman-Slsof

Com instal·lar a Fedora

A Fedora, utilitzeu l'ordre:

suo yum instal·larlsof

Un cop tingueu instal·lada i actualitzada la utilitat lsof, podem començar a utilitzar-la.

Ús bàsic de lsof

Per utilitzar l'eina lsof, introduïu l'ordre:

suolsof

Una vegada que executeu l'ordre anterior, lsof bolcarà molta informació com es mostra a continuació:

La sortida anterior mostra tots els fitxers oberts pels processos. La sortida té diverses columnes, cadascuna de les quals representa informació específica sobre el fitxer.

  • La columna COMMAND - mostra el nom del procés que utilitza el fitxer.
  • PID - mostra l'identificador de procés del procés mitjançant el fitxer.
  • El TID - Mostra l'identificador de tasca (fils) del procés.
  • TASKCMD - Representar el nom de l'ordre de tasca.
  • USUARI - El propietari del procés.
  • FD - Mostra el número del descriptor del fitxer. Així és com els processos utilitzen el fitxer; les opcions disponibles en aquesta sortida de columna inclouen:
  • cwd - directori de treball actual.
  • meme - fitxer assignat a la memòria
  • pd - directori pare
  • jld - directori de la presó
  • ltx - text de la biblioteca compartida
  • rtd - directori arrel.
  • txt - codi i dades del programa
  • NS - fitxer de traça del nucli.
  • errar - Error d'informació del descriptor de fitxers
  • mmp - Dispositiu assignat a la memòria.
  • TIPUS - Mostra el tipus de node associat al fitxer, com ara:
  • Unix - per al sòcol de domini Unix.
  • A TU - representa el directori
  • REG - que representa l'arxiu normal
  • CHR - representa el fitxer de caràcters especials.
  • ENLLAÇ - fitxer d'enllaç simbòlic
  • BLK - Bloqueja el fitxer especial
  • INET - Socket de domini d’Internet
  • FIFO - un tub anomenat (fitxer First In First Out)
  • PIPE - per a canonades

I molts més.

  • DISPOSITIUS - Mostra els números de dispositiu separats per comes en l’ordre del fitxer de caràcters especials, bloqueja el fitxer especial, normal, el directori i el fitxer NFS.
  • TALLA / OFF - mostra la mida del desplaçament del fitxer pr en bytes.
  • NODE - mostra el número de node del fitxer local, el tipus de protocol d’internet, etc.
  • NOM - mostra el nom del punt de muntatge i fs on es troba el fitxer.

Nota: Consulteu el manual lsof per obtenir informació detallada sobre les columnes.

Com es mostren els processos que han obert un fitxer

Lsof ens proporciona opcions que ens ajuden a filtrar la sortida per mostrar només els processos que han obert un fitxer específic.

Per exemple, per veure el fitxer que va obrir el fitxer / bin / bash, utilitzeu l'ordre com a:

suolsof/sóc/bash

Això us donarà una sortida com es mostra a continuació:

TALLA DE DISPOSITIU DE FD TIPUS DE COMANDA PID USER/OFF NAME NAME

ksmtuned1025root txt REG253,0 1150704 428.303 /usr/sóc/bash

bash 2968centos txt REG253,0 1150704 428.303 /usr/sóc/bash

bash 3075centos txt REG253,0 1150704 428.303 /usr/sóc/bash

Com mostra els fitxers oberts per un usuari específic

També podem filtrar la sortida per mostrar els fitxers oberts per un usuari concret. Ho fem utilitzant el senyalador -u seguit del nom d'usuari com:

suolsof-ucentenars

Això us donarà una sortida com es mostra a continuació:

Com es mostren els fitxers oberts per un procés específic

Suposem que volem veure tots els fitxers oberts per un procés específic? Per a això, podem utilitzar el PID del procés per filtrar la sortida.

Per exemple, l'ordre següent mostra els fitxers oberts per bash.

suolsof-p 3075

Això us donarà només els fitxers oberts per systemd tal com es mostra:

Com es mostren els fitxers oberts en un directori

Per obtenir els fitxers oberts en un directori específic, podem passar l’opció + D seguida del camí del directori.

Per exemple, enumereu els fitxers oberts al directori / etc.

suolsof + D/etc

A continuació es mostra la sortida per a això:

Com es mostra la connexió de xarxa

Com que tot el Linux és un fitxer, podem obtenir fitxers de xarxa com ara fitxers TCP o connexions.

Podem utilitzar l'ordre:

suolsof-iTCP

Això us proporcionarà les connexions TCP del sistema.

També podeu filtrar pel port específic mitjançant l'ordre que es mostra a continuació:

suolsof-i:22

Això us donarà la sortida com es mostra a continuació:

Com es mostren contínuament els fitxers

Lsof ens proporciona un mode per fer un bucle de la sortida cada pocs segons. Això us permet controlar de manera continuada els fitxers oberts per un procés o un usuari.

Aquesta opció, però, requereix que finalitzeu el procés manualment.

Per exemple, l'ordre següent controla contínuament els fitxers oberts al port 22:

suolsof -r-i:22

Com podeu veure, al tercer bucle, lsof captura la connexió establerta amb el servidor a SSH.

Conclusió

Lsof és una utilitat increïblement útil. Permet controlar els fitxers crítics, així com controlar els usuaris i els processos d'obertura de fitxers. Això pot ser increïblement útil quan es resolen problemes o es cerquen intents maliciosos del sistema.

Com es mostra en aquest tutorial, mitjançant diversos exemples i mètodes, podeu combinar la funcionalitat que proporciona l'eina lsof per a un seguiment personalitzat.

Gràcies per llegir i compartir! Espero que hagueu après alguna cosa nova.