मैं उन समूहों को कैसे सूचीबद्ध करूं जो UNIX उपयोगकर्ता के सदस्य हैं?


79

साथ pts m groupnameमैं एक समूह के उपयोगकर्ताओं को सूचीबद्ध कर सकते हैं। मैं इसके विपरीत कैसे कर सकता हूं - अर्थात्, उन सभी समूहों को सूचीबद्ध करें जो एक उपयोगकर्ता का सदस्य है?

(मुझे समूह के नाम को खोजने के लिए यह आवश्यक है कि मैं एक ऐसे उपयोगकर्ता को जानता हूं जो इसका सदस्य है, लेकिन मुझे समूह का नाम नहीं पता है ...)

स्पष्टता:
यह प्रश्न इस तथ्य से जटिल है कि मैं सिस्टम प्रशासक नहीं हूं, और यह कि मेरे पास रूट अनुमति (इससे दूर) नहीं है। इसके बजाय, मैं "मॉडरेटर्स" के एक समूह का हिस्सा हूं जो सिस्टम के एक छोटे हिस्से का प्रबंधन करता है - विशिष्ट होने के लिए, मेरे विश्वविद्यालय के केंद्रीय आईटी प्रणाली में छात्र संघ की भौतिकी शाखा।

हमारी शाखा के भीतर, हमारे पास उन लोगों के लिए अलग-अलग पहुंच समूहों का एक समूह है जो चीजों के प्रभारी हैं। इस मामले में, कुछ के लिए जिम्मेदार दो लोगों में से एक (यह कोई फर्क नहीं पड़ता कि क्या है) को बदल दिया गया है, और मैं दूसरे उपयोगकर्ता की जांच करना चाह रहा था ताकि पता लगाया जा सके कि मुझे प्रतिस्थापन का क्या अधिकार देना चाहिए।

मैं अब इस समस्या को हल करने में सक्षम हो गया हूं (नया व्यक्ति फ़ोल्डर का उपयोग नहीं कर पा रहा है) फ़ोल्डर की जांच करके देख सकता है कि किसके पास पहुंच है, और समूह को सूची से चुन रहा है। हालाँकि, अधिक विशेषाधिकार हो सकते हैं जो इस उपयोगकर्ता के पास होना चाहिए कि मुझे पता नहीं है, इसलिए यह प्रश्न अभी भी मेरे लिए प्रासंगिक है, यद्यपि यह बहुत गंभीर है।

जवाबों:


105

आप groupsकमांड का उपयोग भी कर सकते हैं :

[रूट @ ftp ~] # समूह रूट
रूट: रूट बिन डेमॉन साइज़ डिस्क व्हील

यदि बाकी सब विफल रहता है तो अच्छा पुराना भी है grep:

[रूट @ ftp ~] # grep रूट / etc / group
जड़: एक्स: 0: जड़
बिन: एक्स: 1: जड़, बिन, डेमॉन
डेमॉन: एक्स: 2: जड़, बिन, डेमॉन
sys: एक्स: 3: जड़, बिन, ADM
ADM: एक्स: 4: जड़, ADM, डेमॉन
डिस्क: एक्स: 6: जड़
पहिया: एक्स: 10: जड़, व्यवस्थापक

1
grep ^root: /etc/groupबेहतर हो सकता है।
डेनिस विलियमसन

नहीं यह नहीं है क्योंकि यह केवल समूहों में से एक को सूचीबद्ध करता है रूट शायद इसके थोड़ी अधिक जाग के साथ एक सदस्य है :) grep रूट / etc / group | awk -F: '{प्रिंट $ 1}'
matthias krull

3
परीक्षा / आदि / समूह अच्छा लगता है, लेकिन यदि आपका सिस्टम एक केंद्रीकृत निर्देशिका (NIS, LDAP, Activeirectirect);) का उपयोग कर रहा है, तो आपको वहाँ समूहों की पूरी सूची नहीं मिलेगी। उस फ़ाइल में केवल स्थानीय समूह परिभाषाएँ होंगी।
Slartibartfast

कमांड groups kczकेवल मुझे देता है usr, हालांकि मुझे पता है कि यह उपयोगकर्ता नामक समूह का सदस्य है fkm। क्या चीज़ छूट रही है?
टॉमस अचान

यकीन नहीं होता, अपने /etc/group@ टोमस को पास्टबिन करें।
जॉन टी

28
$ id [username]

" $: Command not found"।
टॉमस अचान

8
$कमांड प्रॉम्प्ट का प्रतिनिधित्व करता है। साथ लिखना शुरू करें id
कॉन्सलेयर

अभी भी मुझे बहुत कुछ नहीं देता:uid=[five digits](kcz) gid=30(usr)
टॉमस एशान

यह uid = gid = groups = दिखा रहा है, इसलिए जो तीसरी चीज़ मुझे मिल रही है, वह उन समूहों की सूची है, जिनसे उपयोगकर्ता संबंधित हैं।
एमकेजे

6

यह मिला - बाद में, लेकिन मैंने किया! =)

जिस प्रकार

$>pts m [group name]

समूह में सभी सदस्यों को सूचीबद्ध करता है,

$>pts m [user name]

उन सभी समूहों को सूचीबद्ध करता है, जिन्हें कोई उपयोगकर्ता सदस्य है। यह बहुत आसान था: पी


3
pts एक मानक कमांड नहीं है।
user2284570

1
@ user2284570: शायद नहीं। लेकिन यह स्पष्ट रूप से प्रश्न में कहा गया था (बहुत पहली बात, वास्तव में, और वाक्यविन्यास हाइलाइटिंग के साथ) यह है ptsकि यह सवाल चिंतित करता है।
टॉमस असचन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.