GNU/Linux >> Belajar Linux >  >> Linux

Cara Mendaftar Pengguna di Linux

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

Tutorial ini akan menunjukkan cara membuat daftar pengguna di sistem Linux.

Dapatkan Daftar Semua Pengguna menggunakan /etc/passwd Berkas #

Informasi pengguna lokal disimpan di /etc/passwd mengajukan. Setiap baris dalam file ini mewakili informasi login untuk satu pengguna. Untuk membuka file, Anda dapat menggunakan cat atau less :

less /etc/passwd

Setiap baris dalam file memiliki tujuh bidang yang dibatasi oleh titik dua yang berisi informasi berikut:

  • Nama pengguna.
  • Kata sandi terenkripsi (x berarti kata sandi disimpan di /etc/shadow berkas).
  • Nomor ID Pengguna (UID).
  • Nomor ID grup pengguna (GID).
  • Nama lengkap pengguna (GECOS).
  • Direktori beranda pengguna.
  • Login shell (default ke /bin/bash ).

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

awk -F: '{ print $1}' /etc/passwd
cut -d: -f1 /etc/passwd
root
daemon
bin
sys
sync
...
...
sshd
vagrant
jack
anne

Dapatkan Daftar semua Pengguna menggunakan Perintah getent #

getent perintah menampilkan entri dari database yang dikonfigurasi di /etc/nsswitch.conf file, termasuk passwd database, yang dapat digunakan untuk menanyakan daftar semua pengguna.

Untuk mendapatkan daftar semua pengguna Linux, masukkan perintah berikut:

getent passwd

Seperti yang Anda lihat, outputnya sama seperti saat menampilkan konten /etc/passwd mengajukan. Jika Anda menggunakan LDAP untuk autentikasi pengguna, getent akan menampilkan semua pengguna Linux dari /etc/passwd file dan database LDAP.

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

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

Periksa apakah ada pengguna di sistem Linux #

Sekarang kita tahu bagaimana membuat daftar semua pengguna, untuk memeriksa apakah pengguna ada di kotak Linux kita, kita cukup memfilter daftar pengguna dengan menyalurkan daftar ke grep perintah.

Misalnya, untuk mengetahui apakah pengguna dengan nama jack ada di sistem Linux kami, kami dapat menggunakan perintah berikut:

getent passwd | grep jack

Jika pengguna ada, perintah di atas akan mencetak informasi login pengguna. Tidak ada keluaran yang berarti pengguna tidak ada.

Kami juga dapat memeriksa apakah pengguna ada tanpa menggunakan grep perintah seperti yang ditunjukkan di bawah ini:

getent passwd jack

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

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

getent passwd | wc -l
33

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

Pengguna Sistem dan Normal #

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

Pengguna normal adalah pengguna yang dibuat oleh root atau pengguna lain dengan hak sudo. Biasanya, pengguna biasa memiliki shell login asli dan direktori home.

Setiap pengguna memiliki ID pengguna numerik yang disebut UID. Jika tidak ditentukan saat membuat pengguna baru dengan useradd perintah, UID akan dipilih secara otomatis dari /etc/login.defs file tergantung pada UID_MIN dan UID_MIN nilai.

Untuk memeriksa UID_MIN dan UID_MIN nilai pada sistem Anda, 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 pengguna normal harus memiliki UID antara 1000 dan 60000. Mengetahui nilai minimal dan maksimal memungkinkan kita untuk menanyakan daftar semua pengguna normal di sistem kita.

Perintah di bawah ini akan mencantumkan semua pengguna normal di sistem Linux kami:

getent passwd {1000..60000}
vagrant:x:1000:1000:vagrant,,,:/home/vagrant:/bin/bash
jack:x:1001:1001:,,,:/home/jack:/bin/bash
anne:x:1002:1002:Anne Stone,,,:/home/anne:/bin/bash
patrick:x:1003:1003:Patrick Star,,,:/home/patrick:/usr/sbin/nologin

UID_MIN sistem Anda dan UID_MIN nilainya 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 pengguna, cukup kirimkan output ke cut perintah:

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 mempelajari cara membuat daftar dan memfilter pengguna di sistem Linux Anda dan apa perbedaan utama antara pengguna sistem dan pengguna Linux biasa.

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

Jangan ragu untuk meninggalkan komentar jika Anda memiliki pertanyaan.


Linux
  1. Cara Membuat Banyak Akun Pengguna di Linux

  2. Cara Mendaftar Pengguna di CentOS 7

  3. 3 Cara Mendaftar Pengguna di Linux

  1. Cara Menemukan Semua Pengguna Sudo Di Linux

  2. Daftar Pengguna di Linux - Metode terbaik

  3. Bagaimana cara mendaftar semua pengguna dalam grup Linux?

  1. Bagaimana cara menambahkan pengguna ke grup di Linux

  2. Cara Daftar Pengguna di Linux, Daftar semua Perintah Pengguna

  3. Cara Mendaftar Pengguna Linux di Ubuntu