पहिया और ऑपरेटर में जड़ क्यों है? क्या एक समूह में होने से कभी फर्क पड़ सकता है?


18

मैंने बस अपने FreeBSD मशीन पर ध्यान दिया कि रूट व्हील और ऑपरेटर में है। मैं ऐसी स्थिति के बारे में सोचने की कोशिश कर रहा हूं, जहां एक समूह में यूआईडी 0 होने का कोई असर होगा ... अच्छी तरह से ... कुछ भी, और मैं खाली आ रहा हूं। उस मामले के लिए, रूट को / etc / passwd में प्राथमिक लॉगिन समूह की भी आवश्यकता है? या अगर उपयोगकर्ता के पास एक प्राथमिक प्राथमिक फ़ील्ड फ़ील्ड है, तो लॉगिन (3) चोक और मर जाता है?

(स्पष्ट करने के लिए: मैं "रूट" समूह के अस्तित्व के उद्देश्य को समझता हूं, क्योंकि फाइलों को एक समूह के स्वामी की आवश्यकता है। मैं यह नहीं समझ रहा हूं कि यह कैसे मायने रखता है कि उपयोगकर्ता रूट / टॉरर / जो भी उस समूह की सदस्यता है।)

क्या यह दशकों पहले से ही बना हुआ है, या इसका कोई वास्तविक कारण है?

जवाबों:


5

संक्षेप में: नहीं। रूट पर wheelऔर operatorसमूह में कुछ भी नहीं बदल रहा है।

लेकिन आप 2 अन्य बातों पर भी सवाल उठा रहे हैं:

  • रूट ग्रुप आईडी 0 के लिए सेट (डिफ़ॉल्ट रूप से) है, जो एक खाली मूल्य के लिए निकटतम चीज है जो आप प्राप्त कर सकते हैं।

    $ head -4 /etc/passwd
    # $FreeBSD: releng/9.2/etc/master.passwd 243947 2012-12-06 11:52:31Z rwatson $
    #
    root:*:0:0:Charlie &:/root:/bin/csh
    toor:*:0:0:Bourne-again Superuser:/root:
    

    जैसा कि कहा गया है, प्रत्येक उपयोगकर्ता के पास एक समूह होना चाहिए, इसलिए आप किसी शून्य या रिक्त मान के लिए रूट समूह आईडी (और कोई उपयोगकर्ता gid) सेट नहीं कर सकते । यदि आप खाली करने के लिए उपयोगकर्ता gid सेट करने का प्रयास करते हैं, तो आपको इसके द्वारा चेतावनी दी जाएगी pwd_mkdb:

    pwd_mkdb: no gid for user root
    pwd_mkdb: at line #3
    pwd_mkdb: /etc/pw.Rlb2U3: Inappropriate file type or format
    re-edit the password file?
    

    इसलिए यह तथ्य कि जड़ को परिभाषित किया गया है, यह सिर्फ एक गूंगा संख्या के बजाय इसे ठीक से नामित करने के बारे में अधिक है। आप रूट जीआईडी ​​को किसी भी अर्थहीन संख्या में बदल सकते हैं (जीआईडी ​​भीतर नहीं /etc/group)। आपका जड़ उपयोगकर्ता अभी भी लॉग इन करने में सक्षम होगा, suया जो कुछ भी बाकी जड़ कर सकते हैं। तुम बस अंत में कुछ ऐसा होगा:

    $ id
    uid=0(root) gid=10000 groups=10000,5(operator)
    
  • इस बारे में कि कुछ उपयोगकर्ता व्हील समूह में क्यों हैं जो कि एक पूरी तरह से अलग कहानी है, जैसे कि FreeBSD , OpenBSD या NetBSD की तरह , उपयोगकर्ताओं wheelको su रूट करने के लिए इसका हिस्सा होना चाहिए ।

    FreeBSD प्रलेखन ( अध्याय 9.4 ) से:

    करने के लिए सु को जड़ (या सुपर उपयोगकर्ता विशेषाधिकारों के साथ किसी भी अन्य खाते), तो आप में होना चाहिए पहिया समूह। यदि यह सुविधा नहीं होती, तो सिस्टम पर किसी के भी खाते में जो रूट के पासवर्ड का पता लगाता है, वह सिस्टम में सुपरयुजर लेवल एक्सेस प्राप्त कर सकेगा। इस सुविधा के साथ, यह कड़ाई से सच नहीं है; su (1) उन्हें पहिया में नहीं होने पर भी पासवर्ड डालने की कोशिश करने से रोकेगा ।

    लेकिन आप सही हैं, रूट उपयोगकर्ता को पहिया से हटाने से चीजें नहीं बदलेंगी। यह विशुद्ध रूप से औपचारिक है जितना तुअर उपयोगकर्ता है और न ही का हिस्सा पहिया या जड़ का हिस्सा है ऑपरेटर समूह।

  • ऑपरेटर समूह, हालांकि, विशुद्ध रूप से औपचारिक है, बिना किसी विशेष अर्थ के।

यहाँ यह भी है कि रिचर्ड स्टालमैन व्हील ग्रुप के बारे में क्या सोचते हैं ( ग्नू सु मैनुअल से ):

क्यों जीएनयू "सु" `पहिया 'समूह ========================================= का समर्थन नहीं करता है ==========

(यह खंड रिचर्ड स्टेलमैन द्वारा है।)

कभी-कभी कुछ उपयोगकर्ता शेष सभी पर कुल शक्ति रखने की कोशिश करते हैं। उदाहरण के लिए, 1984 में, MIT AI लैब में कुछ उपयोगकर्ताओं ने Twenex सिस्टम पर ऑपरेटर पासवर्ड को बदलकर और इसे बाकी सभी से गुप्त रखते हुए बिजली जब्त करने का फैसला किया। (मैं इस तख्तापलट को विफल करने और कर्नेल को पैच करके उपयोगकर्ताओं को वापस देने में सक्षम था, लेकिन मुझे नहीं पता कि यूनिक्स में ऐसा कैसे किया जाए।)

हालाँकि, कभी-कभार शासक किसी को बताते हैं। सामान्य "सु" तंत्र के तहत, एक बार कोई रूट पासवर्ड सीखता है जो सामान्य उपयोगकर्ताओं के साथ सहानुभूति रखता है, वह बाकी को बता सकता है। "व्हील ग्रुप" फीचर इसे असंभव बना देगा, और इस तरह शासकों की शक्ति को मजबूत करेगा।

मैं जनता के पक्ष में हूं, शासकों के नहीं। यदि आप मालिकों और sysadmins का समर्थन करने के लिए उपयोग किए जाते हैं जो कुछ भी वे करते हैं, तो आपको यह विचार पहले अजीब लग सकता है।


1

लॉगिन (3) और अन्य लोग प्राथमिक समूह की अपेक्षा करते हैं। उन्हें इसकी आवश्यकता है ताकि वे utmp / wtmp फ़ाइलों में मान्य फ़ील्ड सेट कर सकें। और यहां तक ​​कि अगर उन्होंने (फ़ाइल प्रारूप को नहीं बदला), तो आप लॉगिन (1) या sshd (8) या अन्य कार्यक्रमों को उपयोगकर्ता सत्र को सेटअप करने का प्रयास करते समय अधिक मूलभूत समस्या से टकराएंगे - चाहे utmp / wtmp की परवाह किए बिना उन्हें दोनों को भरने की आवश्यकता हो UID और GID कर्नेल प्रक्रिया गुण (जैसा कि लॉग-इन उपयोगकर्ता द्वारा बनाई गई फ़ाइलों में यूआईडी और जीआईडी ​​भरा होना चाहिए, जैसा कि आप नोटिस करते हैं)।

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

"पहिया" समूह विशेष रूप से उदाहरण pam_wheel जैसे कई अतिरिक्त प्रमाणीकरण जांचों के लिए उपयोग किया जाता है

की तरह "ऑपरेटर" अन्य समूहों सुरक्षा सुविधाओं के लिए इस्तेमाल किया जा सकता है (उदाहरण के लिए, जब जड़ द्वारा चलाए जा रहे कुछ प्रक्रिया हो सकती है setuid आम उपयोगकर्ता ( "कोई भी") की तरह करने के लिए, (2), जबकि अभी भी अपने समूह की सदस्यता ( "ऑपरेटर") की तरह बनाए रखना। यह इस तरह की प्रक्रिया को उस समूह के स्वामित्व वाली फ़ाइलों का उपयोग जारी रखने की अनुमति देता है, जबकि पूर्ण यूआईडी 0 एक्सेस के साथ चलने के सुरक्षा मुद्दों को काफी कम करता है।

मुझे यकीन नहीं है कि आपके सिस्टम में इस सुविधा का उपयोग करने वाले प्रोग्राम हैं (या यदि डिफॉल्ट फ्रीबीएसआर पाठ्यक्रम)


0

यह एक अंतर बना सकता है - जैसे ही कोई कार्यक्रम समूह सदस्यता की जांच करता है और परिणाम के आधार पर अलग-अलग व्यवहार करता है। बेशक, विशेषाधिकारों में कोई अंतर नहीं है जो रूट उपयोगकर्ता को बाध्य कर सकता है ।


0

क्या ऐसा नहीं है कि यदि कोई समूह पहिया का सदस्य नहीं है, तो पहिया को केवल अनदेखा कर दिया जाता है और सभी उपयोगकर्ता su चला सकते हैं ... और संभवतः पासवर्ड का अनुमान लगा सकते हैं। कम से कम एक उपयोगकर्ता समूह समूह व्हील (यानी उपयोगकर्ता रूट) का सदस्य होने के बाद, फिर पहिया नियंत्रण की जाँच की जाती है और समूह पहिया के केवल अन्य सदस्य सु चलाने का प्रयास कर सकते हैं।

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