Cara Memeriksa File yang Terbuka di Linux

How Check Open Files Linux

Anda mungkin pernah menemukan pepatah, Semuanya adalah file di Linux. Meskipun ini tidak sepenuhnya benar, itu memang memiliki serangkaian kebenaran untuk itu.

Di Linux dan sistem mirip Unix, semuanya seperti file. Itu berarti sumber daya dalam sistem Unix diberi deskriptor file, termasuk perangkat penyimpanan, soket jaringan, proses, dll.



Deskriptor file adalah nomor unik yang mengidentifikasi file dan perangkat input/output lainnya. Ini menjelaskan sumber daya dan bagaimana kernel mengaksesnya. Anggap saja sebagai pintu gerbang ke sumber daya perangkat keras abstraksi Kernel.



Sayangnya, konsep deskriptor file berada di luar cakupan tutorial ini; pertimbangkan tautan yang disediakan di bawah ini untuk memulai mempelajari lebih lanjut:



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

Itu berarti bahwa sistem Unix dan Unix-like seperti Linux menggunakan file-file tersebut dengan berat. Sebagai pengguna kekuatan Linux, melihat file yang terbuka dan proses serta pengguna yang menggunakannya sangat berguna.

Tutorial ini akan fokus pada cara untuk melihat file yang terbuka dan proses atau pengguna mana yang bertanggung jawab.



Pra-Persyaratan

Sebelum kita mulai, pastikan Anda memiliki:

  • Sebuah sistem Linux
  • Pengguna dengan hak akses root atau sudo

Jika Anda memiliki ini, mari kita mulai:

Utilitas LSOF

Dibuat oleh Victor A Abell, List open files, atau disingkat lsof, adalah utilitas baris perintah yang memungkinkan kita untuk melihat file yang terbuka dan proses atau pengguna yang membukanya.

Utilitas lsof tersedia di distribusi Linux utama; namun, Anda mungkin menemukan itu tidak diinstal dan dengan demikian mungkin perlu menginstal secara manual.

Cara Menginstal lsof di Debian/Ubuntu

Untuk menginstalnya di Debian, gunakan perintah:

sudo pembaruan apt-get

sudo apt-get installlsof-dan

Cara Menginstal di REHL/CentOS

Untuk menginstal di REHL dan CentOS, gunakan perintah:

sudopembaruan dnf

sudodnfInstalllsof

Cara Menginstal di Arch

Di Arch, panggil manajer paket menggunakan perintah:

sudopacman-Miliknya

sudopacman-Slsof

Cara Menginstal di Fedora

Di Fedora, gunakan perintah:

sudo instal yumlsof

Setelah Anda menginstal dan memperbarui utilitas lsof, kami dapat mulai menggunakannya.

Penggunaan Dasar

Untuk menggunakan alat lsof, masukkan perintah:

sudolsof

Setelah Anda menjalankan perintah di atas, lsof akan membuang banyak informasi seperti yang ditunjukkan di bawah ini:

Output di atas menunjukkan semua file yang dibuka oleh proses. Output memiliki berbagai kolom, masing-masing mewakili informasi spesifik tentang file.

  • Kolom PERINTAH – menunjukkan nama proses yang menggunakan file tersebut.
  • PID – menunjukkan Process Identifier dari proses yang menggunakan file.
  • TID – Menunjukkan ID tugas (utas) dari proses.
  • TASKCMD – Mewakili nama perintah tugas.
  • PENGGUNA - Pemilik proses.
  • FD – Menampilkan nomor deskriptor file. Beginilah cara proses menggunakan file; opsi yang tersedia dalam output kolom ini meliputi:
  • cwd - direktori kerja saat ini.
  • meme – file yang dipetakan memori
  • pd – direktori induk
  • jld – direktori penjara
  • ltx - teks perpustakaan bersama
  • rtd - direktori akar.
  • txt – kode program dan data
  • NS – berkas jejak kernel.
  • berbuat salah – Kesalahan informasi deskriptor file
  • mmp – Perangkat yang dipetakan memori.
  • TIPE – Menunjukkan jenis node yang terkait dengan file, seperti:
  • Unix – untuk soket domain Unix.
  • KEPADAMU – mewakili direktori
  • REG – mewakili file biasa
  • CHR – mewakili file karakter khusus.
  • TAUTAN – file tautan simbolis
  • BLK – Blokir file khusus
  • INET – Soket domain internet
  • FIFO – pipa bernama (file First In First Out)
  • PIPA - untuk pipa

Dan masih banyak lagi.

  • PERANGKAT – Menampilkan nomor perangkat yang dipisahkan koma dalam urutan file karakter khusus, blok khusus, reguler, direktori, dan file NFS.
  • UKURAN/MATI – menunjukkan ukuran file pr file offset dalam byte.
  • NOD – menunjukkan nomor node file lokal, jenis untuk jenis protokol internet, dll.
  • NAMA – menunjukkan nama titik mount dan fs tempat file berada.

Catatan: Silakan Lihat Manual lsof untuk informasi rinci tentang kolom.

Cara Menampilkan Proses yang Membuka File

Lsof memberi kami opsi yang membantu kami memfilter output untuk hanya menampilkan proses yang membuka file tertentu.

Misalnya, untuk melihat file yang membuka file /bin/bash, gunakan perintah sebagai:

sudolsof/NS/pesta

Ini akan memberi Anda output seperti yang ditunjukkan di bawah ini:

COMMAND PID PENGGUNA FD TIPE UKURAN PERANGKAT/NAMA NODA MATI

ksmtuned1025root txt REG253,0 1150704 428303 /usr/NS/pesta

pesta 2968centos txt REG253,0 1150704 428303 /usr/NS/pesta

pesta 3075centos txt REG253,0 1150704 428303 /usr/NS/pesta

Bagaimana Menampilkan file yang Dibuka oleh Pengguna Tertentu

Kami juga dapat memfilter output untuk menampilkan file yang dibuka oleh pengguna tertentu. Kami melakukan ini dengan menggunakan flag -u diikuti dengan nama pengguna sebagai:

sudolsof-uratusan

Ini akan memberi Anda output seperti yang ditunjukkan di bawah ini:

Cara Menampilkan File yang Dibuka dengan Proses Tertentu

Misalkan kita ingin melihat semua file yang dibuka oleh proses tertentu? Untuk ini, kita dapat menggunakan PID dari proses untuk memfilter output.

Misalnya, perintah di bawah ini menunjukkan file yang dibuka oleh bash.

sudolsof-P 3075

Ini hanya akan memberi Anda file yang dibuka oleh systemd seperti yang ditunjukkan:

Cara Menampilkan File yang Dibuka di Direktori

Untuk membuka file di direktori tertentu, kita dapat melewati opsi +D diikuti dengan jalur direktori.

Misalnya, daftar file yang terbuka di direktori /etc.

sudolsof +D/dll

Di bawah ini adalah output untuk ini:

Cara Menampilkan Koneksi Jaringan

Karena semua yang ada di Linux adalah file, kita bisa mendapatkan file jaringan seperti file TCP atau koneksi.

Kita dapat menggunakan perintah:

sudolsof-SayaTCP

Ini akan memberi Anda koneksi TCP dalam sistem.

Anda juga dapat memfilter berdasarkan port tertentu menggunakan perintah yang ditunjukkan di bawah ini:

sudolsof-Saya:22

Ini akan memberi Anda output seperti yang ditunjukkan di bawah ini:

Cara Menampilkan File Secara Terus Menerus

Lsof memberi kita mode untuk mengulang output setiap beberapa detik. Ini memungkinkan Anda untuk memantau file yang dibuka oleh proses atau pengguna secara terus menerus.

Namun, opsi ini mengharuskan Anda untuk menghentikan proses secara manual.

Misalnya, perintah di bawah ini terus memantau file yang dibuka pada port 22:

sudolsof -r-Saya:22

Seperti yang Anda lihat, di loop ketiga, lsof menangkap koneksi yang dibuat ke server di SSH.

Kesimpulan

Lsof adalah utilitas yang sangat berguna. Ini memungkinkan Anda untuk memantau file penting serta memantau pengguna dan proses membuka file. Ini bisa sangat berguna saat memecahkan masalah atau mencari upaya jahat ke sistem.

Seperti yang ditunjukkan dalam tutorial ini, dengan menggunakan berbagai contoh dan metode, Anda dapat menggabungkan fungsionalitas yang disediakan oleh alat lsof untuk pemantauan kustom.

Terima kasih telah membaca dan berbagi! Saya harap Anda belajar sesuatu yang baru!