Kenali Semua User Linux Lewat Terminal dalam 5 Menit
Mau tahu siapa saja yang punya akses ke server Linux-mu? Cukup buka terminal. Tanpa GUI, tanpa ribet. Di artikel ini gue bakal ajak lo praktek langsung: mulai dari melihat daftar user, memfilter akun tertentu, sampai menyortir nama secara alfabet. Semua pake perintah bawaan—cat, getent, awk, cut—jadi nggak perlu install apa-apa. Siap? Gas!
Kenapa penting? Karena tiap user adalah pintu masuk. Kalau ada akun lama atau misterius, potensi celah keamanan jadi besar. Dengan rajin mengecek, lo bisa hapus user tak terpakai, rapatkan izin, dan tidur lebih nyenyak.
Memahami File /etc/passwd Sebelum Mulai
Linux menyimpan informasi user di file /etc/passwd. Isinya baris per baris, formatnya:
username:x:UID:GID:info:home:shell
Field pertama adalah nama user, ketiga adalah User ID (UID). User biasa biasanya UID ≥ 1000, sedang akun sistem suka pakai 1–999. Dengan memahami struktur ini, lo bisa memilih perintah yang pas buat filter data.
Perbedaan User Normal vs Sistem
User normal dibuat manually via adduser dan punya home directory di /home. Sementara user sistem dibuat otomatis saat instalasi paket, cenderung nggumiliki shell login (/usr/sbin/nologin). Bedanya penting saat audit: fokus ke user normal dulu.
Persiapan: Akses Root & Teks Editor
Pastikan lo punya akses sudo atau root. Kalau pakai VPS remote, login SSH dulu. Terus siapin text editor favorit—nano, vim, atau code—buat nyimpen hasil filter nanti. Langkah ini sekali saja, tapi menghemat waktu di kemudian hari.
3 Perintak Utama untuk Cek User Linux
Mari ke inti. Gue rangkum tiga cara paling cepat dan fleksibel. Pilih salah satu, atau kombinasikan sesuai kebutuhan.
- cat /etc/passwd – Menampilkan semua baris lengkap; cocok buat di-pipe ke grep kalau mau filter nama tertentu.
- getent passwd – Sama seperti cat, tapi datanya diambil dari database NSS. Hasilnya bisa lebih lengkap kalau lo pakai LDAP atau AD.
- awk -F’:’ ‘{print $1}’ /etc/passwd – Langsung kasih list username saja, rapi dan gampang disalin.
Contoh praktik:
# Lihat user yang UID-nya di atas 1000
awk -F':' '$3>=1000 {print $1}' /etc/passwd
Perintah di atas otomatis skip akun sistem. Cocok untuk audit user manusia.
Filter & Sortir: Tingkat Lanjut Buat Admin
Kalau user sudah ratusan, scroll manual nggak efisien. Gabungkan dengan sort dan uniq:
cut -d: -f1 /etc/passwd | sort | uniq > user-list.txt
File user-list.txt sekarang berisi nama user unik, terurut A-Z. Bisa lo bandingkan dengan backup bulan lalu pakai diff untuk lihat perubahan.
Cek User yang Sedang Aktif
Daftar di /etc/passwd bersifat statis. Untuk tahu siapa yang sedang login, gunakan:
who
atau
w
Keluarannya nama user, terminal, IP, waktu login, serta aktivitas running. Cocok untuk deteksi login mencurigakan.
Menyimpan Hasil ke CSV
Mau laporan ke atasan? Buat CSV biar enak dibuka di Excel:
awk -F':' '{print $1","$3","$6}' /etc/passwd > user-report.csv
Tinggal download pakai scp atau rsync, selesai.
Kesimpulan
Mengecek user Linux sebenarnya sekadar baca file /etc/passwd, tapi trik pengolahan datanya yang bikin beda. Mulai dari yang paling sederhana cat, sampai filter presisi pakai awk, semua perintah ada di genggaman. Ingat, audit nggak cukup sekali. Jadwalkan script di cron, terus bandingkan hasilnya tiap minggu. Dengan begitu, lo bisa hapus akun mantan dev, rapatkan SSH key, dan jaga server tetap aman. Sekarang buka terminal lo, coba satu per satu, rasakan bedanya. Kalau sudah lancar, eksplorasi lanjutan: integrasi dengan monitoring tools seperti Prometheus atau Fail2ban. Happy hacking, dan semoga server-mu makin kencang!
FAQ
Tidak. File /etc/passwd bisa dibaca semua user. Tapi edit tetap butuh root.
Bisa. Perintah tetap sama, SELinux hanya menambah konteks keamanan.
Lebih fleksibel kalau pakai LDAP/NIS; kalau lokal biasanya output sama.