Kā pārbaudīt atvērtos failus Linux

How Check Open Files Linux



Iespējams, esat saskāries ar teicienu: Linux viss ir fails. Lai gan tas nav pilnīgi taisnība, tajā ir patiesību kopums.

Linux un Unix līdzīgās sistēmās viss ir kā fails. Tas nozīmē, ka resursiem Unix sistēmā tiek piešķirts faila apraksts, ieskaitot atmiņas ierīces, tīkla ligzdas, procesus utt.







Faila deskriptors ir unikāls numurs, kas identificē failu un citas ievades/izvades ierīces. Tas apraksta resursus un to, kā kodols tiem piekļūst. Domājiet par to kā vārtiem uz kodola abstrakcijas aparatūras resursiem.



Diemžēl failu aprakstītāju jēdziens ir ārpus šīs apmācības jomas; apsveriet tālāk sniegto saiti, lai sāktu uzzināt vairāk:



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





Tas nozīmē, ka Unix un Unix līdzīgas sistēmas, piemēram, Linux, šādus failus plaši izmanto. Kā Linux enerģijas lietotājam atvērto failu un procesa un lietotāju izmantošana ir ārkārtīgi noderīga.

Šī apmācība koncentrēsies uz veidiem, kā apskatīt atvērtos failus un par to, kurš process vai lietotājs ir atbildīgs.



Priekšnosacījumi

Pirms sākam, pārliecinieties, ka jums ir:

  • Linux sistēma
  • Lietotājs ar root vai sudo privilēģijām

Ja jums tādi ir, sāksim darbu:

LSOF utilīta

Izveidojis Viktors Abels, atvērtie faili vai saīsināti lsof ir komandrindas utilīta, kas ļauj apskatīt atvērtos failus un procesus vai lietotājus, kas tos atvēra.

Lsof utilīta ir pieejama lielākajos Linux izplatījumos; tomēr var gadīties, ka tas nav instalēts, un tāpēc tas var būt jāinstalē manuāli.

Kā instalēt lsof Debian/Ubuntu

Lai to instalētu Debian, izmantojiet komandu:

sudo apt-get atjauninājums

sudo apt-get instalētlsof-un

Kā instalēt vietnē REHL/CentOS

Lai instalētu REHL un CentOS, izmantojiet komandu:

sudodnf atjauninājums

sudodnfuzstādītlsof

Kā instalēt Arch

Archā zvaniet pakotņu pārvaldniekam, izmantojot komandu:

sudopacman-Viņa

sudopacman-Slsof

Kā instalēt Fedora

Fedora izmantojiet komandu:

sudo yum instalētlsof

Kad esat instalējis un atjauninājis utilītu lsof, mēs varam sākt to izmantot.

Pamata lietošana

Lai izmantotu rīku lsof, ievadiet komandu:

sudolsof

Kad esat izpildījis iepriekš minēto komandu, lsof izmetīs daudz informācijas, kā parādīts zemāk:

Iepriekš minētā izvade parāda visus procesus atvērtos failus. Rezultātā ir dažādas slejas, no kurām katra attēlo konkrētu informāciju par failu.

  • Kolonna KOMANDA - parāda procesa nosaukumu, kurā tiek izmantots fails.
  • PID - parāda procesa procesa identifikatoru, izmantojot failu.
  • TID - Parāda procesa uzdevuma ID (pavedienus).
  • TASKCMD - Pārstāviet uzdevuma komandas nosaukumu.
  • LIETOTĀJS - procesa īpašnieks.
  • FD - Parāda faila apraksta numuru. Šādi procesi izmanto failu; opcijas, kas pieejamas šajā slejas izvadā, ietver:
  • cwd - pašreizējais darba katalogs.
  • meme -atmiņā kartēts fails
  • pd - vecāku direktorijs
  • jld - cietuma direktorijā
  • ltx - koplietots bibliotēkas teksts
  • rtd - saknes direktorijs.
  • txt - programmas kods un dati
  • NS - kodola izsekošanas fails.
  • kļūdīties - Faila deskriptora informācijas kļūda
  • mmp -Atmiņā kartēta ierīce.
  • TYPE - Parāda ar failu saistītā mezgla veidu, piemēram:
  • Unix - Unix domēna ligzdai.
  • TEV - pārstāv direktoriju
  • REG - kas pārstāv parasto failu
  • CHR - apzīmē īpašo rakstzīmju failu.
  • LINK - simbolisks saišu fails
  • BLK - Bloķēt īpašu failu
  • Internets - interneta domēna ligzda
  • FIFO - nosaukta caurule (First In First Out fails)
  • PIPE - caurulēm

Un vēl daudz vairāk.

  • IERĪCES - Rāda ierīču numurus, atdalītus ar komatiem īpašo rakstzīmju faila secībā, bloķē īpašo, parasto, direktoriju un NFS failu.
  • SIZE/OFF - parāda faila lielumu pr faila nobīde baitos.
  • NODE - parāda vietējā faila mezgla numuru, interneta protokola tipa veidu utt.
  • NAME - parāda stiprinājuma punkta nosaukumu un fs, kurā atrodas fails.

Piezīme: Lūdzu, skatiet lsof rokasgrāmatu, lai iegūtu sīkāku informāciju par kolonnām.

Kā parādīt procesus, kas atvēra failu

Lsof piedāvā mums iespējas, kas palīdz filtrēt izvadi, lai parādītu tikai procesus, kas atvēra noteiktu failu.

Piemēram, lai redzētu failu, kas atvēra failu /bin /bash, izmantojiet komandu kā:

sudolsof/esmu/bash

Tas dos jums rezultātu, kā parādīts zemāk:

COMMAND PID USER FD TYPE DEVICE SIZE/Izslēgts mezgla nosaukums

ksmtuned1025saknes txt REG253,0 1150704 428303 /usr/esmu/bash

bash 2968centos txt REG253,0 1150704 428303 /usr/esmu/bash

bash 3075centos txt REG253,0 1150704 428303 /usr/esmu/bash

Kā parādīt konkrēta lietotāja atvērtus failus

Mēs varam arī filtrēt izvadi, lai parādītu konkrēta lietotāja atvērtos failus. Mēs to darām, izmantojot karodziņu -u, kam seko lietotājvārds kā:

sudolsof-usimtiem

Tas dos jums rezultātu, kā parādīts zemāk:

Kā parādīt noteiktā procesā atvērtus failus

Pieņemsim, ka mēs vēlamies apskatīt visus failus, kas atvērti ar noteiktu procesu? Šim nolūkam mēs varam izmantot procesa PID, lai filtrētu izvadi.

Piemēram, zemāk esošā komanda parāda bash atvērtos failus.

sudolsof-lpp 3075

Tādējādi tiks parādīti tikai faili, kurus atver systemd, kā parādīts attēlā:

Kā parādīt direktorijā atvērtos failus

Lai faili tiktu atvērti noteiktā direktorijā, mēs varam nodot opciju +D, kam seko direktorija ceļš.

Piemēram, uzskaitiet atvērtos failus direktorijā /etc.

sudolsof +D/utt

Tālāk ir sniegta šāda informācija:

Kā parādīt tīkla savienojumu

Tā kā viss Linux ir fails, mēs varam iegūt tīkla failus, piemēram, TCP failus vai savienojumus.

Mēs varam izmantot komandu:

sudolsof-iTCP

Tādējādi jūs iegūsit TCP savienojumus sistēmā.

Varat arī filtrēt pēc konkrētā porta, izmantojot zemāk redzamo komandu:

sudolsof-i:22

Tas dos jums rezultātu, kā parādīts zemāk:

Kā nepārtraukti rādīt failus

Lsof nodrošina mums režīmu, lai ik pēc dažām sekundēm izvadītu cilpu. Tas ļauj nepārtraukti uzraudzīt procesa vai lietotāja atvērtos failus.

Tomēr šī opcija prasa procesu manuāli pārtraukt.

Piemēram, zemāk esošā komanda nepārtraukti uzrauga failus, kas atvērti 22. portā:

sudolsof -r-i:22

Kā redzat, trešajā cilpā lsof uztver izveidoto savienojumu ar serveri SSH.

Secinājums

Lsof ir neticami noderīga utilīta. Tas ļauj jums uzraudzīt kritiskos failus, kā arī uzraudzīt lietotājus un procesus, kas atver failus. Tas var būt neticami noderīgi, veicot traucējummeklēšanu vai meklējot ļaunprātīgus sistēmas mēģinājumus.

Kā parādīts šajā apmācībā, izmantojot dažādus piemērus un metodes, varat apvienot lsof rīka nodrošināto funkcionalitāti pielāgotai uzraudzībai.

Paldies, ka lasījāt un dalījāties! Es ceru, ka jūs uzzinājāt kaut ko jaunu!