Saya tahu saya memiliki grup dan pengguna yang sudah ada, tetapi saya tidak yakin tentang hubungan mereka. Apakah ada perintah shell yang dapat saya gunakan untuk mendaftar semua pengguna atau semua grup dan perintah untuk mendaftar semua grup / pengguna untuk pengguna / grup tertentu?
Jadi sesuatu seperti showusers
akan mendaftar semua pengguna, dan showgroups -u thisuser
akan menampilkan semua grup yang ada thisuser
di dalamnya.
cat /etc/passwd
Jawaban:
Semua pengguna:
Semua grup:
Semua grup dengan pengguna tertentu:
sumber
speech-dispatcher
milik audio grup (berdasarkangroups speech-dispatcher
). Tapi itu tidak terdaftar di bawahgetent group
komando! Apa masalahnya?/etc/passwd
& konvensional/etc/group
yaitu ketika sistem dikonfigurasikan untuk menggunakan direktori pusat seperti NIS dan LDAP, atau basis data pengguna / grup alternatif lain, selama itu mendukung enumerasi pengguna / grup .Daftar pengguna dan grup mereka:
Daftar grup dan penggunanya:
sumber
Jika Anda tidak peduli tentang pengguna jarak jauh seperti LDAP atau NIS, untuk membuat daftar pengguna dan grup terkait dengan cara sederhana:
Keluaran;
sumber
Daftar semua pengguna
Atau
Sementara cat / etc / passwd menampilkan semua pengguna (dan banyak hal lainnya), cut -d ':' -f 1 adalah cara sederhana untuk membagi setiap baris dengan ':' sebagai pembatas dan mengekstrak hanya bidang pertama (pengguna ). Sama seperti versi awk.
Daftar semua grup
Atau
Coba tebak, sangat mirip dengan daftar pengguna. Cukup parsing / etc / group saja.
Cara lain yang menarik, mungkin lebih dekat dengan apa yang diinginkan OP, adalah compgen . Tidak yakin tentang masalah kompatibilitas.
sumber
untuk debian
sumber
Seperti ini:
sumber
/etc/gshadow
Tidak mengandung anggota grup (/etc/group
tidak) dan jawaban yang diterima dari 4,5 tahun yang lalu jauh lebih umum, karena juga menangani grup jarak jauh.Gunakan perintah ini untuk mendapatkan semua grup dan pengguna di grup tertentu.
sumber