Bagaimana cara mengetahui grup apa yang dimiliki pengguna tertentu?


256

Di Unix / Linux, bagaimana Anda mengetahui grup apa yang diberikan pengguna melalui baris perintah?


23
Untuk mendapatkan yang sebaliknya, lihat siapa yang ada di grup tertentu, Anda dapat menggunakan getent group <groupname>.
iconoclast

1
@iconoclast: yang tidak mencantumkan pengguna yang termasuk dalam grup di / etc / passwd.
user2284570

Jawaban:



102

Ini menunjukkan pengguna uid serta semua kelompok (dengan gids mereka) milik mereka

id userid

2
Ini tampaknya sangat berguna juga. Ini memiliki lebih banyak keluaran verbose daripada perintah 'grup', jadi jika Anda memerlukan id grup / id pengguna gunakan ini!
Alex Argo

Ini harus menjadi jawaban yang paling terperinci dan benar, dapatkan upvote!
Harvey Lin

16

Di Linux / OS X / Unix untuk menampilkan grup tempat Anda (atau pengguna yang ditentukan opsional), gunakan:

id -Gn [user]

yang setara dengan groups [user]utilitas yang sudah usang di Unix.

Pada OS X / Unix, perintah id -p [user]disarankan untuk interaktif normal.

Penjelasan tentang parameter:

-G, --groups- cetak semua ID grup

-n, --name- cetak nama, bukan angka, untuk-ugG

-p - Jadikan output yang dapat dibaca manusia.


0

atau hanya belajar / etc / groups (ok ini mungkin tidak berfungsi jika menggunakan pam dengan ldap)


7
Memang, itu jawaban yang buruk. 'getent group' adalah yang lebih baik.
bortzmeyer

0

Di bawah ini adalah skrip yang diintegrasikan ke dalam dashboard yang memungkinkan dan menghasilkan dalam format CSV.

sh collection.sh

#!/bin/bash

HOSTNAME=`hostname -s`

for i in `cat /etc/passwd| grep -vE "nologin|shutd|hal|sync|root|false"|awk -F':' '{print$1}' | sed 's/[[:space:]]/,/g'`; do groups $i; done|sed s/\:/\,/g|tr -d ' '|sed -e "s/^/$HOSTNAME,/"> /tmp/"$HOSTNAME"_inventory.txt

sudo cat /etc/sudoers| grep -v "^#"|awk '{print $1}'|grep -v Defaults|sed '/^$/d;s/[[:blank:]]//g'>/tmp/"$HOSTNAME"_sudo.txt

paste -d , /tmp/"$HOSTNAME"_inventory.txt /tmp/"$HOSTNAME"_sudo.txt|sed 's/,[[:blank:]]*$//g' >/tmp/"$HOSTNAME"_inventory_users.txt

Output saya disimpan dalam file teks di bawah ini.

cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.