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_MAX/ {print $2}’ /etc/login.defs)} | cut -d: -f1

*Kesimpulan*

Dalam tutorial ini, Anda belajar cara melihat daftar dan memfilter user di sistem Linux dan perbedaan utama antara user sistem dan users Linux normal.

Perintah yang sama berlaku untuk distribusi Linux apa pun, termasuk Ubuntu, CentOS, RHEL, Debian dan Linux Mint.

Leave a Reply

Your email address will not be published.