Bagaimana saya bisa menampilkan semua pengguna dan grup dengan perintah?

123

Saya ingin menampilkan:

  1. Semua pengguna dan
  2. Semua kelompok

    di sistem saya menggunakan command-line.

usersdan groupsperintah menampilkan pengguna yang saat ini masuk, dan mengelompokkan masing-masing milik pengguna.

Bagaimana cara menampilkan daftar semua pengguna dan semua grup dengan command-line?

Pandya
sumber

Jawaban:

189

Anda dapat menampilkan dengan bantuan compgenperintah builtin sebagai berikut:

  1. Untuk menampilkan semua pengguna jalankan perintah berikut:

    compgen -u
    
  2. Untuk menampilkan semua grup, jalankan perintah berikut:

    compgen -g
    

Namun Anda juga dapat menampilkan semua pengguna dengan cut -d ":" -f 1 /etc/passwd.

Pandya
sumber
14
Bagus! mungkin lebih baik menggunakan getent passwd/ getent groupalih-alih menjalankan file lokal ( getentharus bekerja untuk akun non-lokal juga)
steeldriver
@steeldriver compgentampaknya berfungsi untuk akun non-lokal (setidaknya untuk LDAP).
muru
1
@uru saya mengacu pada metode kedua secara khusus ( cat /etc/passwd | cut -d ...)
steeldriver
@steeldriver Ah, maaf. Saya pikir itu adalah pengamatan yang lebih umum.
muru
Nah, di ubuntu saya, saya punya beberapa file yang dibuat oleh docker mount dengan 999:999as user:group, tapi sayangnya tidak ada perintah di atas yang mencetaknya.
Marinos An