Belirli bir kullanıcının hangi gruba sahip olduğunu nasıl öğrenebilirim?


256

Unix / Linux'ta, belirli bir kullanıcının hangi grupta olduğunu komut satırı üzerinden nasıl öğrenirsiniz?


23
Bunun tersini yapmak için, belirli bir grupta kimlerin olduğunu görün getent group <groupname>.
iconoclast

1
@iconoclast: / etc / passwd içindeki gruba ait kullanıcıları listelemeyen.
user2284570

Yanıtlar:



102

Bu, kullanıcının kullanıcı kimliğini ve ait oldukları tüm grupları (gidleriyle) gösterir

id userid

2
Bu da oldukça faydalı görünüyor. Grup kimliği / kullanıcı kimliğine ihtiyacınız varsa bunu kullanın!
Alex Argo

Bu en ayrıntılı ve doğru cevap olmalı, bir oy verin!
Harvey Lin

16

Linux / OS X / Unix'te sizin (veya isteğe bağlı olarak belirtilen kullanıcının) ait olduğu grupları görüntülemek için şunu kullanın:

id -Gn [user]

groups [user]Unix'te kullanılmayan hizmete eşdeğerdir .

OS X / Unix'te, id -p [user]normal etkileşimli komut önerilir.

Parametrelere ilişkin açıklama:

-G, --groups- tüm grup kimliklerini yazdır

-n, --name- sayı yerine bir ad yazdırın,-ugG

-p - Çıktıyı okunabilir yapın.


0

veya sadece / etc / gruplarını çalışın (tamam, ldap ile pam kullanıyorsa muhtemelen işe yaramaz)


7
Gerçekten, bu kötü bir cevap. 'getent grubu' daha iyi bir gruptur.
bortzmeyer

0

Aşağıda, CSV biçiminde ansible ve gösterge panosuna entegre edilen komut dosyası bulunmaktadır.

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

Çıktım aşağıdaki metin dosyalarında saklandı.

cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.