Anda di halaman 1dari 6

Cara Menampilkan Semua

Daftar User di Linux


Pernahkah Anda ingin melihat daftar semua user dalam sistem Linux? atau
ingin menghitung jumlah user dalam sistem? Ada perintah untuk membuat
user, menghapus user, melihat daftar user yang masuk, tetapi apa perintah
untuk membuat daftar semua user di Linux?

Tutorial ini akan menunjukkan kepada Anda cara melihat daftar user dalam
sistem Linux.

Melihat Semua User menggunakan


File /etc/passwd
Informasi user lokal disimpan di file /etc/passwd. Setiap baris dalam file ini
mewakili informasi masuk untuk satu user. Untuk membuka file Anda bisa
menggunakan perintah cat atau less :

less /etc/passwd

Seperti yang Anda lihat dari output di atas, setiap baris memiliki tujuh
bidang yang dibatasi oleh titik dua, yang berisi informasi berikut:

• Nama user
• Kata sandi terenkripsi (x berarti bahwa kata sandi disimpan dalam
file /etc/shadow)
• Nomor user ID (UID)
• Nomor user ID grup (GID)
• Nama lengkap user (GECOS)
• Direktori home user
• Shell login (default ke /bin/bash)

Jika Anda ingin hanya menampilkan nama user, Anda dapat menggunakan
perintah awk atau cut untuk mencetak hanya bidang pertama yang berisi
nama user :

awk -F: '{ print $1}' /etc/passwd

cut -d: -f1 /etc/passwd

root

daemon

bin

sys

sync

...

...

sshd

vagrant

cahyo

rina
Dapatkan Daftar semua User menggunakan
Perintah getent
Perintah getent menampilkan entri dari database yang dikonfigurasikan
dalam file /etc/nsswitch.conf termasuk database passwd yang dapat kita
gunakan untuk menanyakan daftar semua user.

Untuk mendapatkan daftar semua user Linux, ketik perintah berikut:

getent passwd

Seperti yang Anda lihat, hasilnya sama seperti ketika menampilkan konten
file /etc/passwd. Jika Anda menggunakan LDAP untuk otentikasi
user, getent akan menampilkan semua user Linux dari file /etc/passwd dan
database LDAP.

Anda juga dapat menggunakan awk atau cut untuk mencetak hanya bidang
pertama yang berisi nama user :

getent passwd | awk -F: '{ print $1}'

getent passwd | cut -d: -f1

Periksa apakah ada User di sistem Linux


Sekarang kita tahu bagaimana cara melihat daftar semua user, untuk
memeriksa apakah ada user di Linux, kita dapat dengan mudah menyaring
daftar user dengan pipe (|) perintah getent dan salurkan ke perintah grep.
Misalnya untuk mengetahui apakah user dengan nama cahyo ada di sistem
Linux, kita dapat menggunakan perintah berikut:

getent passwd | grep cahyo


Jika user tersebut ada, perintah di atas akan mencetak informasi login user
“cahyo”. Jika user tidak ada, maka output tidak akan menampilkan apapun.

Kita juga dapat memeriksa apakah user ada tanpa menggunakan


perintah grep seperti yang ditunjukkan di bawah ini:

getent passwd cahyo


Sama seperti sebelumnya, jika user tersebut ada, perintah akan
menampilkan informasi login user.

Jika Anda ingin mengetahui berapa banyak akun yang Anda miliki di sistem,
kirimkan output dari perintah getent passwd ke perintah wc:

getent passwd | wc -l

Seperti yang Anda lihat dari output di atas, sistem Linux saya memiliki 31
akun.

User Sistem dan User Normal


Tidak ada perbedaan teknis yang nyata antara sistem dan user biasa
(normal). Biasanya user sistem dibuat saat menginstal OS dan paket baru.
Dalam beberapa kasus, Anda dapat membuat user sistem yang akan
digunakan oleh beberapa aplikasi.

User normal adalah user yang dibuat oleh root atau user lain dengan hak
istimewa sudo. Biasanya, pengguna normal memiliki shell login nyata dan
direktori home.
Setiap user memiliki user ID numerik yang disebut UID. Jika tidak ditentukan
saat membuat user baru dengan perintah useradd, maka UID akan dipilih
secara otomatis dari file /etc/login.defs tergantung pada
nilai UID_MIN dan UID_MAX.

Untuk memeriksa nilai UID_MIN dan UID_MAX di sistem, Anda dapat


menggunakan perintah berikut:

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

UID_MIN 1000

UID_MAX 60000
Dari output di atas, kita dapat melihat bahwa semua user normal harus
memiliki UID antara 1000 dan 60000. Mengetahui nilai minimal dan
maksimal memungkinkan kita untuk meminta daftar semua user normal di
sistem kita.

Perintah di bawah ini akan mencantumkan semua user normal di sistem


Linux :

getent passwd {1000..60000}

vagrant❌1000:1000:vagrant,,,:/home/vagrant:/bin/bash

cahyo❌1001:1001:,,,:/home/cahyo:/bin/bash

rina❌1002:1002:Rina Arisna,,,:/home/rina:/bin/bash

patrick❌1003:1003:Patrick
Star,,,:/home/patrick:/usr/sbin/nologin
Nilai UID_MIN dan UID_MAX sistem Anda mungkin berbeda sehingga versi
yang lebih umum dari perintah di atas adalah

eval getent passwd {$(awk '/^UID_MIN/ {print $2}'


/etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}
Jika Anda ingin mencetak hanya nama user saja, cukup pipe output ke
perintah cut:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}'


/etc/login.defs)..$(awk '/^UID_MA

Anda mungkin juga menyukai