यह कैसे पता करें कि किसी दिए गए उपयोगकर्ता के पास कौन सा समूह है?


256

यूनिक्स / लिनक्स में, आप कैसे पता लगाते हैं कि किसी दिए गए उपयोगकर्ता को कमांड लाइन के माध्यम से किस समूह में रखा गया है?


23
विपरीत प्राप्त करने के लिए, देखें कि किसी दिए गए समूह में कौन है, आप उपयोग कर सकते हैं getent group <groupname>
आइकनोकॉस्ट

1
@ डायनोकॉस्ट: जो समूह से संबंधित उपयोगकर्ताओं को / etc / passwd में सूचीबद्ध नहीं करता है।
user2284570

जवाबों:



102

यह एक उपयोगकर्ता के यूआईडी के साथ-साथ सभी समूहों (उनके ग्रिड के साथ) को दर्शाता है जो वे संबंधित हैं

id userid

2
यह बहुत उपयोगी के रूप में अच्छी तरह से प्रतीत होता है। इसमें 'समूह' कमांड की तुलना में अधिक वर्बोज़ आउटपुट है, इसलिए यदि आपको ग्रुप आईडी / यूज़र आईडी का उपयोग करने की आवश्यकता है!
एलेक्स अर्गो

यह सबसे विस्तृत और सही उत्तर होना चाहिए, एक उत्थान है!
हार्वे लिन

16

लिनक्स पर / OS X / Unix उन समूहों को प्रदर्शित करने के लिए जिनके आप (या वैकल्पिक रूप से निर्दिष्ट उपयोगकर्ता) संबंधित हैं, उपयोग करें:

id -Gn [user]

जो groups [user]यूनिक्स पर आज्ञाकारी है उपयोगिता के बराबर है ।

ओएस एक्स / यूनिक्स पर, id -p [user]सामान्य इंटरैक्टिव के लिए कमांड का सुझाव दिया गया है।

मापदंडों पर स्पष्टीकरण:

-G, --groups- सभी ग्रुप आईडी प्रिंट करें

-n, --name- एक नंबर के बजाय एक नाम प्रिंट करें, के लिए-ugG

-p - आउटपुट को मानव-पठनीय बनाएं।


0

या सिर्फ अध्ययन / आदि / समूह (ठीक है यह काम नहीं करता है अगर यह ldap के साथ pam का उपयोग करता है)


7
दरअसल, यह एक बुरा जवाब है। a गेटेंट ग्रुप ’बेहतर है।
बोर्त्ज़मेयेर

0

नीचे वह स्क्रिप्ट है जिसे 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

मेरा आउटपुट पाठ फ़ाइलों के नीचे संग्रहीत है।

cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.