Paano Suriin ang Open Files sa Linux

How Check Open Files Linux



Maaari mong natagpuan ang kasabihan, Ang lahat ay isang file sa Linux. Bagaman hindi ito ganap na totoo, nagtataglay ito ng isang hanay ng mga katotohanan dito.

Sa mga sistemang tulad ng Linux at Unix, ang lahat ay tulad ng isang file. Nangangahulugan iyon na ang mga mapagkukunan sa system ng Unix ay nakatalaga sa isang tagapaglarawan ng file, kabilang ang mga aparato sa imbakan, mga socket ng network, proseso, atbp.







Ang isang tagapaglarawan ng file ay isang natatanging numero na tumutukoy sa isang file at iba pang mga input / output na aparato. Inilalarawan nito ang mga mapagkukunan at kung paano ito i-access ng kernel. Isipin ito bilang isang gateway sa mga mapagkukunan ng hardware ng abstract ng Kernel.



Sa kasamaang palad, ang konsepto ng mga naglalarawan ng file ay lampas sa saklaw ng tutorial na ito; isaalang-alang ang link na ibinigay sa ibaba upang makapagsimula sa karagdagang kaalaman:



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





Nangangahulugan iyon na ang mga sistemang katulad ng Unix at Unix tulad ng Linux ay gumagamit ng labis na mga file. Bilang isang gumagamit ng kapangyarihan sa Linux, ang nakikita ang mga bukas na file at ang proseso at mga gumagamit na gumagamit ng mga ito ay hindi kapani-paniwalang kapaki-pakinabang.

Itutuon ng tutorial na ito ang mga paraan upang matingnan ang mga file na bukas at aling proseso o gumagamit ang responsable.



Mga Paunang Kinakailangan

Bago kami magsimula, tiyaking mayroon ka:

  • Isang sistema ng Linux
  • Gumagamit na may mga pribilehiyo ng root o sudo

Kung mayroon ka ng mga ito, magsimula kaming:

LSOF Utility

Nilikha ni Victor A Abell, Maglista ng bukas na mga file, o para sa maikli, ay isang utos ng command-line na nagbibigay-daan sa amin upang tingnan ang mga bukas na file at ang mga proseso o gumagamit na nagbukas sa kanila.

Ang lsof utility ay magagamit sa mga pangunahing pamamahagi ng Linux; gayunpaman, maaari mong makita na hindi ito naka-install at sa gayon ay maaaring kailanganing mag-install nang manu-mano.

Paano Mag-install ng lsof sa Debian / Ubuntu

Upang mai-install ito sa Debian, gamitin ang utos:

sudo apt-get update

sudo apt-get installlsof-at

Paano Mag-install sa REHL / CentOS

Upang mai-install sa REHL at CentOS, gamitin ang utos:

sudopag-update ng dnf

sudodnfi-installlsof

Paano Mag-install sa Arch

Sa Arch, tawagan ang manager ng package gamit ang command:

sudopacman-His

sudopacman-Slsof

Paano Mag-install sa Fedora

Sa Fedora, gamitin ang utos:

sudo yum installlsof

Kapag mayroon kang naka-install at na-update na utility na lsof, maaari nating simulang gamitin ito.

Pangunahing lsof Paggamit

Upang magamit ang tool na lsof, ipasok ang utos:

sudolsof

Kapag naipatupad mo ang utos sa itaas, lsof ay magtapon ng maraming impormasyon tulad ng ipinakita sa ibaba:

Ipinapakita ng output sa itaas ang lahat ng mga file na binuksan ng mga proseso. Ang output ay may iba't ibang mga haligi, bawat isa ay kumakatawan sa tukoy na impormasyon tungkol sa file.

  • Ang haligi ng KOMANDA - Ipinapakita ang pangalan ng proseso na gumagamit ng file.
  • PID - Ipinapakita ang Process Identifier ng proseso gamit ang file.
  • Ang TID - Ipinapakita ang task ID (mga thread) ng proseso.
  • TASKCMD - Kinakatawan ang pangalan ng task command.
  • USER - Ang may-ari ng proseso.
  • FD - Ipinapakita ang numero ng tagapaglarawan ng file. Ganito ginagamit ng mga proseso ang file; ang mga pagpipilian na magagamit sa output ng haligi na ito ay kinabibilangan ng:
  • cwd - kasalukuyang direktoryo ng pagtatrabaho.
  • meme - file na naka-map sa memorya
  • pd - direktoryo ng magulang
  • si jld - direktoryo ng bilangguan
  • ltx - ibinahaging teksto ng library
  • rtd - direktoryo ng ugat.
  • txt - Code ng programa at data
  • NS - kernel trace file.
  • nagkamali - Error sa impormasyon ng tagapaglarawan ng file
  • mmp - Memory-mapa na aparato.
  • URI - Ipinapakita ang uri ng node na nauugnay sa file, tulad ng:
  • Unix - para sa Unix domain socket.
  • SA IYO - kumakatawan sa direktoryo
  • REG - kumakatawan sa regular na file
  • CHR - Kinakatawan ang espesyal na file ng character.
  • LINK - simbolikong link na file
  • BLK - I-block ang espesyal na file
  • INET - Internet domain socket
  • FIFO - isang pinangalanang tubo (First In First Out file)
  • PIPE - para sa mga tubo

At marami pang iba.

  • DEVICES - Ipinapakita ang mga numero ng aparato na pinaghiwalay ng mga kuwit sa pagkakasunud-sunod ng mga espesyal na file ng character, i-block ang espesyal, regular, direktoryo, at NFS file.
  • SIZE / OFF - Ipinapakita ang laki ng file ng file pr offset sa mga byte.
  • NODE - Ipinapakita ang numero ng node ng lokal na file, uri para sa uri ng internet protocol, atbp.
  • PANGALAN - Ipinapakita ang pangalan ng mount point at fs kung saan matatagpuan ang file.

Tandaan: Mangyaring Sumangguni sa lsof Manu-manong para sa detalyadong impormasyon sa mga haligi.

Paano Ipakita ang Mga Proseso na Nagbukas ng isang File

Nagbibigay sa amin ang Lsof ng mga pagpipilian na makakatulong sa aming salain ang output upang maipakita lamang ang mga proseso na nagbukas ng isang tukoy na file.

Halimbawa, upang makita ang file na nagbukas ng file / bin / bash, gamitin ang utos bilang:

sudolsof/am/bash

Bibigyan ka nito ng isang output tulad ng ipinakita sa ibaba:

MAG-UTOS NG PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

ksmtuned1025root txt REG253,0 1150704 428303 /usr/am/bash

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

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

Paano Ipakita ang mga file na Binuksan ng isang Tiyak na Gumagamit

Maaari din nating salain ang output upang maipakita ang mga file na binuksan ng isang tukoy na gumagamit. Ginagawa namin ito sa pamamagitan ng paggamit ng -u flag na sinusundan ng username bilang:

sudolsof-udaan-daang

Bibigyan ka nito ng isang output tulad ng ipinakita sa ibaba:

Paano Ipakita ang Mga File na Binuksan ng isang Tiyak na Proseso

Ipagpalagay na nais nating tingnan ang lahat ng mga file na binuksan ng isang tukoy na proseso? Para sa mga ito, maaari naming gamitin ang PID ng proseso upang salain ang output.

Halimbawa, ipinapakita ng utos sa ibaba ang mga file na binuksan ng bash.

sudolsof-p 3075

Bibigyan ka lamang nito ng mga file na binuksan ng systemd tulad ng ipinakita:

Paano Ipakita ang Mga File na Binuksan sa isang Directory

Upang mabuksan ang mga file sa isang tukoy na direktoryo, maaari naming ipasa ang pagpipiliang + D na susundan ng path ng direktoryo.

Halimbawa, ilista ang bukas na mga file sa direktoryo / etc.

sudolsof + D/atbp

Nasa ibaba ang output para dito:

Paano Ipakita ang Koneksyon sa Network

Dahil ang lahat sa Linux ay isang file, maaari nating makuha ang mga file ng network tulad ng mga TCP file o koneksyon.

Maaari naming gamitin ang utos:

sudolsof-akoTCP

Bibigyan ka nito ng mga koneksyon sa TCP sa system.

Maaari mo ring i-filter sa pamamagitan ng tukoy na port gamit ang utos na ipinakita sa ibaba:

sudolsof-ako:22

Bibigyan ka nito ng output tulad ng ipinakita sa ibaba:

Paano Patuloy na Maipakita ang Mga File

Nagbibigay sa atin ang Lsof ng isang mode upang maiikot ang output bawat ilang segundo. Pinapayagan ka nitong subaybayan ang mga file na binuksan ng isang proseso o gumagamit na tuloy-tuloy.

Gayunpaman, ang pagpipiliang ito ay nangangailangan sa iyo na wakasan nang manu-mano ang proseso.

Halimbawa, ang utos sa ibaba ay patuloy na sinusubaybayan ang mga file na binuksan sa port 22:

sudolsof -r-ako:22

Tulad ng nakikita mo, sa pangatlong loop, nahuhuli ng lsof ang itinatag na koneksyon sa server sa SSH.

Konklusyon

Ang Lsof ay isang hindi kapani-paniwalang kapaki-pakinabang na utility. Pinapayagan kang subaybayan ang mga kritikal na file pati na rin subaybayan ang mga gumagamit at pinoproseso ang pagbubukas ng mga file. Maaari itong maging kapaki-pakinabang kapag nag-troubleshoot o naghahanap ng mga nakakahamak na pagtatangka sa system.

Tulad ng ipinakita sa tutorial na ito, gamit ang iba't ibang mga halimbawa at pamamaraan, maaari mong pagsamahin ang pagpapaandar na ibinigay ng tool na lsof para sa pasadyang pagsubaybay.

Salamat sa pagbabasa at pagbabahagi! Sana may bago kang natutunan!