Kuinka tarkistaa avoimet tiedostot Linuxissa

How Check Open Files Linux



Olet ehkä törmännyt sanontaan: Kaikki on tiedosto Linuxissa. Vaikka tämä ei ole täysin totta, se pitää sisällään joukon totuuksia.

Linux- ja Unix-tyyppisissä järjestelmissä kaikki on kuin tiedosto. Tämä tarkoittaa sitä, että Unix -järjestelmän resursseille annetaan tiedostojen kuvaaja, mukaan lukien tallennuslaitteet, verkkoliittimet, prosessit jne.







Tiedoston kuvaaja on yksilöllinen numero, joka tunnistaa tiedoston ja muut syöttö-/tulostuslaitteet. Se kuvaa resursseja ja kuinka ydin käyttää niitä. Ajattele sitä porttina ytimen abstraktiolaitteistoon.



Valitettavasti tiedostojen kuvaajat eivät kuulu tämän opetusohjelman piiriin; Tutustu alla olevaan linkkiin saadaksesi lisätietoja:



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





Tämä tarkoittaa, että Unix- ja Unix-tyyppiset järjestelmät, kuten Linux, käyttävät tällaisia ​​tiedostoja voimakkaasti. Linux -tehon käyttäjänä avointen tiedostojen ja prosessin ja niitä käyttävien käyttäjien näkeminen on uskomattoman hyödyllistä.

Tämä opetusohjelma keskittyy tapoihin tarkastella avoimia tiedostoja ja mikä prosessi tai käyttäjä on vastuussa.



Esivaatimukset

Ennen kuin aloitamme, varmista, että sinulla on:

  • Linux -järjestelmä
  • Käyttäjä, jolla on root- tai sudo -oikeudet

Jos sinulla on nämä, aloitetaan:

LSOF -apuohjelma

Luonut Victor A Abell, luettelo avoimista tiedostoista tai lyhyesti lsof on komentorivityökalu, jonka avulla voimme tarkastella avoimia tiedostoja ja niitä avaaneita prosesseja tai käyttäjiä.

Lsof -apuohjelma on saatavana suurissa Linux -jakeluissa; Saatat kuitenkin huomata, että sitä ei ole asennettu, joten se on ehkä asennettava manuaalisesti.

Kuinka asentaa lsof Debianiin/Ubuntuun

Asenna se Debianiin komennolla:

sudo apt-get päivitys

sudo apt-get installlsof-ja

Kuinka asentaa REHL/CentOS -järjestelmään

Asenna REHL- ja CentOS -järjestelmiin käyttämällä komentoa:

sudodnf päivitys

sudodnfAsentaalsof

Kuinka asentaa Arch

Soita Archissa paketinhallintaan komennolla:

sudopacman-Hänen

sudopacman-Slsof

Kuinka asentaa Fedoraan

Käytä Fedorassa komentoa:

sudo yum asentaalsof

Kun olet asentanut ja päivittänyt lsof -apuohjelman, voimme aloittaa sen käytön.

Peruskäyttö

Jos haluat käyttää lsof -työkalua, kirjoita komento:

sudolsof

Kun olet suorittanut yllä olevan komennon, lsof tyhjentää paljon tietoa alla esitetyllä tavalla:

Yllä oleva ulostulo näyttää kaikki prosessien avaamat tiedostot. Tuloksessa on useita sarakkeita, joista jokainen edustaa erityisiä tietoja tiedostosta.

  • COMMAND -sarake - näyttää tiedostoa käyttävän prosessin nimen.
  • PID - näyttää tiedostoa käyttävän prosessin prosessitunnisteen.
  • TID - Näyttää prosessin tehtävän tunnuksen (säikeet).
  • TASKCMD - Esitä tehtäväkomennon nimi.
  • KÄYTTÄJÄ - Prosessin omistaja.
  • FD - Näyttää tiedoston kuvaajan numeron. Näin prosessit käyttävät tiedostoa; tämän sarakkeen tulostuksessa käytettävissä olevat vaihtoehdot ovat:
  • cwd - nykyinen työhakemisto.
  • meemi -muistiin kartoitettu tiedosto
  • pd - päähakemisto
  • jld - vankilan hakemisto
  • ltx - jaetun kirjaston teksti
  • rtd - juurihakemisto.
  • txt - ohjelmakoodi ja tiedot
  • NS - ytimen jäljitystiedosto.
  • erehtyä - Tiedoston kuvaajan tietojen virhe
  • mmp -Muistikartoitettu laite.
  • TYYPPI - Näyttää tiedostoon liittyvän solmun tyypin, kuten:
  • Unix - Unix -verkkotunnuksen pistorasiaan.
  • SINULLE - edustaa hakemistoa
  • REG - edustaa tavallista tiedostoa
  • CHR - edustaa erikoismerkkitiedostoa.
  • LINKKI - symbolinen linkitiedosto
  • BLK - Estä erityinen tiedosto
  • INET - Internet -verkkoliitäntä
  • FIFO - nimetty putki (First In First Out -tiedosto)
  • PUTKI - putkille

Ja paljon muuta.

  • LAITTEET - Näyttää laitenumerot pilkuilla erotettuna erikoismerkkitiedoston, lohkon erikois-, säännöllinen, hakemisto- ja NFS -tiedoston järjestyksessä.
  • KOKO/POIS - näyttää tiedoston koon pr tiedoston siirtymä tavuina.
  • SOLMU - näyttää paikallisen tiedoston solmun numeron, Internet -protokollatyypin tyypin jne.
  • NIMI - näyttää kiinnityspisteen nimen ja fs, jossa tiedosto sijaitsee.

Huomautus: Katso lisätietoja sarakkeista lsof -käyttöoppaasta.

Tiedoston avaaneiden prosessien näyttäminen

Lsof tarjoaa meille vaihtoehtoja, jotka auttavat meitä suodattamaan tuloksen näyttämään vain tietyn tiedoston avaaneet prosessit.

Jos haluat nähdä esimerkiksi tiedoston, joka avasi tiedoston /bin /bash, käytä komentoa seuraavasti:

sudolsof/olen/lyödä

Tämä antaa sinulle seuraavan kuvan:

KOMENTOIDUT PID -KÄYTTÄJÄN FD -TYYPPI LAITTEEN KOKO/POISSA SOLMUN NIMI

ksmtuned1025root txt REG253,0 1150704 428303 /usr/olen/lyödä

lyödä 2968centos txt REG253,0 1150704 428303 /usr/olen/lyödä

lyödä 3075centos txt REG253,0 1150704 428303 /usr/olen/lyödä

Kuinka näyttää tietyn käyttäjän avaamat tiedostot

Voimme myös suodattaa lähdön näyttämään tietyn käyttäjän avaamat tiedostot. Teemme tämän käyttämällä -u -lippua ja sen jälkeen käyttäjänimeä seuraavasti:

sudolsof-usatoja

Tämä antaa sinulle seuraavan kuvan:

Tietyn prosessin avaamien tiedostojen näyttäminen

Oletetaanko, että haluamme tarkastella kaikkia tietyn prosessin avaamia tiedostoja? Tätä varten voimme käyttää prosessin PID: tä suodattamaan lähdön.

Esimerkiksi alla oleva komento näyttää bash: n avaamat tiedostot.

sudolsof-p 3075

Tämä antaa sinulle vain systemd: n avaamat tiedostot kuten kuvassa:

Hakemistossa avattujen tiedostojen näyttäminen

Jotta tiedostot voidaan avata tietyssä hakemistossa, voimme siirtää +D -vaihtoehdon ja hakemistopolun.

Luettele esimerkiksi avoimet tiedostot /etc -hakemistossa.

sudolsof +D/jne

Alla on lähtö tähän:

Kuinka näyttää verkkoyhteys

Koska kaikki Linuxissa on tiedosto, voimme saada verkkotiedostot, kuten TCP -tiedostot tai yhteydet.

Voimme käyttää komentoa:

sudolsof-iTCP

Tämä antaa sinulle järjestelmän TCP -yhteydet.

Voit myös suodattaa tietyn portin mukaan käyttämällä alla olevaa komentoa:

sudolsof-i:22

Tämä antaa sinulle seuraavan kuvan:

Kuinka näyttää tiedostoja jatkuvasti

Lsof tarjoaa meille tilan silmukan toistamiseen muutaman sekunnin välein. Tämän avulla voit seurata prosessin tai käyttäjän avaamia tiedostoja jatkuvasti.

Tämä vaihtoehto edellyttää kuitenkin prosessin lopettamista manuaalisesti.

Esimerkiksi alla oleva komento valvoo jatkuvasti portissa 22 avattuja tiedostoja:

sudolsof -r-i:22

Kuten näette, kolmannessa silmukassa lsof nappaa muodostetun yhteyden SSH: n palvelimeen.

Johtopäätös

Lsof on uskomattoman hyödyllinen apuohjelma. Sen avulla voit seurata kriittisiä tiedostoja sekä seurata käyttäjiä ja tiedostojen avaamista. Tämä voi olla uskomattoman hyödyllistä vianmäärityksessä tai haittaessa järjestelmälle haitallisia yrityksiä.

Kuten tässä opetusohjelmassa esitetään, voit yhdistää erilaisia ​​esimerkkejä ja menetelmiä käyttämällä lsof -työkalun tarjoamia toimintoja mukautettua valvontaa varten.

Kiitos, että luit ja jaoit! Toivottavasti opit jotain uutta!