Cara Melihat Semua Pengguna yang Tersedia di Linux: Panduan Lengkap untuk Administrator VPS
Mengelola akun pengguna adalah salah satu tanggung jawab paling fundamental dari setiap administrator sistem Linux. Baik Anda melakukan audit izin akses, mengatasi masalah login, atau memperkuat postur keamanan server Anda, mengetahui dengan tepat pengguna mana yang ada di sistem Anda adalah keterampilan yang penting. Panduan ini memandu Anda melalui setiap metode praktis untuk membuat daftar dan memeriksa pengguna Linux — dari membaca file sistem mentah hingga memanfaatkan utilitas baris perintah yang kuat.
Jika Anda menjalankan lingkungan VPS Hosting dengan AlexHost, teknik-teknik ini berlaku langsung ke server Ubuntu, Debian, atau CentOS Anda dan akan membantu Anda mempertahankan kontrol penuh atas siapa yang memiliki akses ke infrastruktur Anda.
Mengapa Melihat Pengguna Linux Penting untuk Keamanan Server
Sebelum mendalami perintah-perintahnya, ada baiknya memahami *mengapa* tugas ini sangat penting. Di server Linux apa pun — terutama yang menghosting aplikasi web seperti WordPress, Laravel, atau API khusus — beberapa akun pengguna terakumulasi seiring waktu:
- Pengguna sistem dibuat secara otomatis oleh layanan yang diinstal (misalnya,
www-data,mysql,nginx) - Pengguna administratif dengan
sudoatau hak istimewa tingkat root - Pengguna aplikasi terikat pada tumpukan perangkat lunak tertentu
- Akun yang terlupakan atau yatim piatu ditinggalkan setelah penghapusan perangkat lunak atau perubahan staf
Audit akun-akun ini secara teratur membantu Anda:
- Mendeteksi akun yang tidak sah atau mencurigakan
- Menerapkan prinsip hak istimewa paling sedikit
- Mematuhi kebijakan keamanan dan persyaratan audit
- Mengidentifikasi shell yang salah konfigurasi atau direktori home
Dengan akses root AlexHost, penyimpanan NVMe, dan perlindungan DDoS bawaan, menjalankan perintah-perintah ini cepat, andal, dan aman — bahkan pada sistem produksi di bawah beban.
Memahami File /etc/passwd
Semua informasi akun pengguna di Linux disimpan dalam file /etc/passwd. Ini adalah database teks biasa yang dibaca sistem operasi selama operasi autentikasi dan manajemen pengguna. Setiap baris dalam file mewakili satu akun pengguna dan mengikuti format terstruktur ini:
username:password:UID:GID:comment:home_directory:shellBerikut adalah arti setiap bidang:
| Bidang | Deskripsi |
|---|---|
username | Nama login pengguna |
password | Secara historis disimpan di sini; sekarang diganti oleh x (hash sebenarnya ada di /etc/shadow) |
UID | Nomor ID pengguna (0 = root, 1–999 = pengguna sistem, 1000+ = pengguna biasa) |
GID | ID grup utama |
comment | Deskripsi opsional atau nama lengkap (bidang GECOS) |
home_directory | Jalur ke folder home pengguna |
shell | Shell default yang ditetapkan untuk pengguna |
Entri tipikal terlihat seperti ini:
alexadmin:x:1001:1001:Alex Admin,,,:/home/alexadmin:/bin/bashMemahami struktur ini membuat setiap metode di bawah ini jauh lebih mudah untuk diinterpretasikan.
Metode 1: Lihat Semua Pengguna dengan Membaca /etc/passwd Secara Langsung
Pendekatan paling langsung adalah mencetak seluruh isi /etc/passwd ke terminal Anda. Anda memiliki dua opsi utama tergantung pada bagaimana Anda ingin menavigasi output.
Menggunakan cat (terbaik untuk output pendek atau piping)
cat /etc/passwdIni menampilkan seluruh file ke output standar. Di server tipikal, Anda akan melihat puluhan entri — sebagian besar dari mereka adalah akun sistem.
Menggunakan less (terbaik untuk penelusuran interaktif)
less /etc/passwdPager less memungkinkan Anda menggulir file secara interaktif. Tekan q untuk keluar, / untuk mencari, dan tombol panah untuk menavigasi.
Contoh Output
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
alexadmin:x:1001:1001::/home/alexadmin:/bin/bash
deploy:x:1002:1002::/home/deploy:/bin/bashPro tip: Akun dengan /usr/sbin/nologin atau /bin/false sebagai shell mereka tidak dapat login secara interaktif — mereka adalah akun layanan yang digunakan oleh daemon sistem.
Metode 2: Gunakan getent untuk Menanyakan Database Pengguna
Perintah getent (singkat dari *get entries*) mengambil catatan dari database sistem yang ditentukan dalam /etc/nsswitch.conf. Ini adalah metode pilihan di lingkungan Linux modern karena berfungsi dengan benar bahkan ketika akun pengguna bersumber dari direktori eksternal seperti LDAP atau NIS — bukan hanya file /etc/passwd lokal.
getent passwdFormat output identik dengan /etc/passwd, tetapi getent memastikan Anda melihat *semua* pengguna terlepas dari tempat penyimpanannya. Di VPS AlexHost standar, output akan cocok dengan /etc/passwd, tetapi menggunakan getent dianggap praktik terbaik untuk portabilitas dan kelengkapan.
Filter untuk Pengguna Tertentu
getent passwd alexadminIni mengembalikan hanya catatan untuk pengguna alexadmin — berguna untuk dengan cepat memverifikasi bahwa akun ada dan memeriksa konfigurasinya.
Metode 3: Ekstrak Hanya Nama Pengguna dengan cut
Ketika Anda hanya membutuhkan daftar nama pengguna yang bersih — tanpa UID, direktori home, atau informasi shell — gabungkan getent dengan perintah cut untuk mengisolasi bidang pertama.
getent passwd | cut -d: -f1Cara kerjanya:
getent passwdmenampilkan database pengguna lengkap| cut -d: -f1menyalurkan output itu kecut, yang menggunakan:sebagai pembatas (-d:) dan mengekstrak hanya bidang pertama (-f1) — nama pengguna
Contoh Output
root
daemon
bin
sys
www-data
alexadmin
deploy
backupDaftar bersih ini ideal untuk scripting, logging, atau dengan cepat memindai akun yang tidak terduga.
Tampilkan Hanya Pengguna Manusia (Login)
Akun sistem biasanya memiliki UID di bawah 1000. Untuk memfilter hanya pengguna biasa, gabungkan awk dengan pemeriksaan UID:
awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwdIni sangat berguna di lingkungan hosting bersama atau server dengan banyak akun layanan.
Metode 4: Gunakan awk untuk Output Kustom dan Selektif
Perintah awk adalah alat pemrosesan teks yang kuat yang memberikan Anda kontrol penuh atas bidang mana yang akan ditampilkan dan bagaimana memformatnya. Ini sangat berharga ketika Anda membutuhkan gambaran umum cepat tentang akun pengguna untuk tujuan administratif atau tinjauan keamanan.
Tampilkan Nama Pengguna dan Direktori Home
getent passwd | awk -F: '{print "Username: " $1 "t Home Directory: " $6}'Contoh Output
Username: root Home Directory: /root
Username: www-data Home Directory: /var/www
Username: alexadmin Home Directory: /home/alexadmin
Username: deploy Home Directory: /home/deployTampilkan Nama Pengguna, UID, dan Shell
getent passwd | awk -F: '{print "User: " $1 "t UID: " $3 "t Shell: " $7}'Tampilkan Hanya Pengguna dengan Shell Login yang Valid
getent passwd | awk -F: '$7 == "/bin/bash" || $7 == "/bin/sh" {print $1, $6, $7}'Perintah ini sangat berguna untuk audit keamanan — ini mengungkapkan setiap akun yang benar-benar dapat membuka sesi shell interaktif di server Anda.
Metode 5: Hitung Jumlah Total Pengguna
Butuh hitungan cepat dari semua akun pengguna di sistem?
getent passwd | wc -lUntuk menghitung hanya pengguna manusia (UID ≥ 1000):
awk -F: '$3 >= 1000' /etc/passwd | wc -lMetode 6: Periksa Pengguna Mana yang Memiliki Hak Istimewa Sudo
Mengetahui siapa yang dapat meningkatkan hak istimewa sangat penting untuk keamanan. Gunakan perintah-perintah ini untuk mengidentifikasi akun istimewa:
Periksa anggota grup sudo
getent group sudoPeriksa grup wheel (umum di CentOS/RHEL)
getent group wheelDaftar semua sudoers (memerlukan root)
sudo cat /etc/sudoersDi VPS Anda dengan cPanel atau lingkungan panel kontrol terkelola apa pun, beberapa pengguna mungkin memiliki hak sudo yang diberikan melalui file konfigurasi khusus panel di /etc/sudoers.d/.
Metode 7: Lihat Pengguna yang Saat Ini Login
Untuk melihat siapa yang *aktif* login ke server Anda sekarang, gunakan perintah who atau w:
whowPerintah w memberikan lebih banyak detail, termasuk apa yang sedang dijalankan setiap pengguna, waktu login mereka, dan durasi idle. Ini adalah langkah pertama yang sangat baik saat menyelidiki aktivitas mencurigakan di server Anda.
Alur Kerja Keamanan Praktis: Audit Pengguna di VPS Linux Anda
Berikut adalah alur kerja yang direkomendasikan yang dapat Anda jalankan secara berkala di server AlexHost apa pun untuk mempertahankan lingkungan pengguna yang bersih dan aman:
# Step 1: List all human users
awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd
# Step 2: Check who has sudo access
getent group sudo wheel
# Step 3: Identify accounts with login shells
getent passwd | awk -F: '$7 ~ /bash|sh/ {print $1, $7}'
# Step 4: See who is currently logged in
w
# Step 5: Review recent login history
last | head -20Menjalankan audit ini secara teratur — atau mengotomatiskannya dengan pekerjaan cron — adalah cara sederhana namun efektif untuk menjaga server Anda tetap aman. Ini sangat penting jika VPS Anda menghosting beberapa aplikasi web atau jika Anda telah memberikan akses SSH kepada pengembang atau kontraktor.
Mengelola Pengguna Selain Melihat: Langkah Berikutnya
Setelah Anda mengidentifikasi pengguna Anda, Anda mungkin perlu mengambil tindakan. Berikut adalah perintah manajemen pengguna yang paling umum:
| Tugas | Perintah |
|---|---|
| Tambahkan pengguna baru | sudo adduser newusername |
| Hapus pengguna | sudo deluser --remove-home username |
| Kunci akun | sudo passwd -l username |
| Ubah shell pengguna | sudo chsh -s /usr/sbin/nologin username |
| Tambahkan pengguna ke grup sudo | sudo usermod -aG sudo username |
Operasi-operasi ini sepenuhnya didukung di lingkungan VPS Linux AlexHost, di mana Anda memiliki akses root tanpa batas untuk mengel
