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äivityssudo apt-get installlsof-ja
Kuinka asentaa REHL/CentOS -järjestelmään
Asenna REHL- ja CentOS -järjestelmiin käyttämällä komentoa:
sudodnf päivityssudodnfAsentaalsof
Kuinka asentaa Arch
Soita Archissa paketinhallintaan komennolla:
sudopacman-Hänensudopacman-Slsof
Kuinka asentaa Fedoraan
Käytä Fedorassa komentoa:
sudo yum asentaalsofKun 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:
sudolsofKun 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 NIMIksmtuned1025root 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-usatojaTä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 3075Tä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/jneAlla 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-iTCPTämä antaa sinulle järjestelmän TCP -yhteydet.
Voit myös suodattaa tietyn portin mukaan käyttämällä alla olevaa komentoa:
sudolsof-i:22Tä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!