GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana kita bisa mendapatkan daftar pengguna non-sistem di linux?

Anda dapat menggunakan awk untuk tugas ini:

awk -F: '$3 >= 1000' /etc/passwd

Ini akan membagi /etc/passwd file dengan titik dua, maka jika bidang 3 (userid) lebih besar dari atau sama dengan 1000, itu akan mencetak seluruh /etc/passwd merekam.

Jika Anda hanya ingin mengeluarkan nama pengguna dari daftar ini, maka:

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Di mana $1 adalah kolom pertama dari etc/passwd yang merupakan nama pengguna.


Misalkan sistem hanya mengenali pengguna lokal (yaitu yang tercatat di /etc/passwd , berbeda dengan yang diautentikasi melalui layanan jarak jauh seperti LDAP, NIS, atau Winbind), Anda dapat menggunakan grep , sed , atau awk untuk mengekstrak data dari /etc/passwd . awk adalah yang paling fleksibel, tetapi bagaimana dengan solusi dengan sed :

sed -n '/^\([^:]\+\):[^:]\+:[1-9][0-9]\{3\}/ { s/:.*//; p }' /etc/passwd

Anda harus mendapatkan semua pengguna yang memiliki gid lebih besar dari atau sama dengan 1000. Gunakan perintah ini untuk itu:

awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd

Jika Anda menginginkan pengguna sistem (gid<1000) itu akan menjadi:

awk -F: '($3<1000){print $1}' /etc/passwd

Linux
  1. Cara Mendaftar Pengguna di Linux

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Bagaimana saya bisa mendapatkan daftar jaringan nirkabel yang tersedia di Linux?

  1. Bagaimana cara mendaftar semua pengguna dalam grup Linux?

  2. Bagaimana saya bisa mendaftar semua pengguna yang terkunci di Linux?

  3. Bagaimana saya bisa mendapatkan daftar semua kata yang salah eja dalam teks menggunakan Linux?

  1. Linux – Bagaimana Cara Mendapatkan Daftar Filesystem Terpasang Lengkap Dan Tepat Di Linux?

  2. Bagaimana cara mendapatkan daftar semua tugas cron terjadwal di mesin saya?

  3. Bagaimana saya bisa mengembalikan chmod pada direktori dll?