प्राथमिक व्यवस्थापक UID 501 क्यों है?


11

मैं समझता हूँ * प्राथमिक व्यवस्थापक उपयोगकर्ता के एक यूजर आईडी दिया जाता है 501और बाद में उन वृद्धिशील नंबर प्राप्त ( 502, 503, ...)। लेकिन क्यों 501? 50xइस विकल्प के लिए ऐतिहासिक / तकनीकी कारण क्या है, इसके बारे में क्या खास है ?

* मैंने इस पर ध्यान देना शुरू किया जब मुझे इस बात की उत्सुकता हुई कि मेरी बाहरी हार्ड ड्राइव में इसकी सभी ट्रैशेड फाइलें क्यों हैं .Trashes/501। मेरी खोज ने मुझे इस निष्कर्ष पर पहुंचाया 501कि * nix सिस्टम (मैं macOS पर हूं) में प्राथमिक व्यवस्थापक के लिए उपयोगकर्ता आईडी है, लेकिन क्यों नहीं ।


7
मैंने सोचा कि प्राथमिक व्यवस्थापक का यूआईडी 0 था!
जेफ स्कालर

जवाबों:


21

कई यूनिक्स सिस्टम कुछ खास नंबर पर यूआईडी को यूजर्स को सौंपना शुरू करते हैं। सोलारिस पहला सामान्य उद्देश्य उपयोगकर्ता यूआईडी 100 देगा, ओपनबीएसडी पर यह 1000 है, और मैकओएस पर ऐसा प्रतीत होता है कि यह यूआईडी 501 है जो पहले निर्मित इंटरैक्टिव उपयोगकर्ता के लिए यूआईडी होगा, जो संभवतः एक मैकओएस व्यवस्थापक उपयोगकर्ता भी है (जो कि ऐसा नहीं है जड़ उपयोगकर्ता के रूप में)।

कम संख्या वाले खाते डेमॉन आदि के लिए सिस्टम उपयोगकर्ता खाते हैं। इससे सिस्टम सेवाओं के खातों से इंटरैक्टिव "मानव" खातों को भेद करना आसान हो जाता है। यह विभिन्न सॉफ्टवेयर में उपयोगकर्ता प्रबंधन, प्रमाणीकरण आदि को भी आसान बना सकता है। YP / NIS , एक केंद्रीय सर्वर पर उपयोगकर्ता खातों (और अन्य जानकारी) को रखने के लिए थोड़ा पुराना सिस्टम है, जिसमें कई क्लाइंट मशीनों पर स्थानीय उपयोगकर्ता बनाने के बिना, उदाहरण के लिए, उपयोगकर्ता खातों की सीमा के लिए एक सेटिंग MINUIDऔर MAXUIDसेटिंग है जिसे इसे संभालना चाहिए।

कुछ यूनियनों पर, सिस्टम सेवा खातों की एक सीमा को तृतीय-पक्ष सॉफ़्टवेयर को आवंटित किया जा सकता है, जैसे कि यूआईडीएस 50 से 999 तक फ्रीबीएसडी पर या ओपनबीएसडी पर 500 से 999 रुपये।

इन सभी श्रेणियों को उनके ऑपरेटिंग सिस्टम की अपेक्षित जरूरतों के अनुसार व्यक्तिगत यूनियनों के निर्माताओं और अनुरक्षकों द्वारा चुना जाता है। POSIX मानक इन चीजों के बारे में कुछ नहीं कहता है। सबसे कम और उच्चतम आवंटन योग्य UID (और GID) अक्सर एक स्थानीय व्यवस्थापक द्वारा कॉन्फ़िगर किया जाता है (अपना adduserमैनुअल देखें )।

अधिकांश यूनिक्स यूआईडी 0 को root, सुपर-उपयोगकर्ता के लिए आरक्षित करते हैं, और उपयोगकर्ता को उच्चतम संभव यूआईडी (या कम से कम कुछ उच्च मूल्य) प्रदान करते हैं nobody(सोलारिस यूआईडी 60001 का उपयोग करता है, ओपनबीएसडी 32768 का उपयोग करता है, लेकिन यूआईडी इससे बहुत बड़ा हो सकता है)।

(यूआईडी 0 के बारे में टिप्पणियां हमेशा देखें root(या नहीं), जो इस विषय से एक मामूली विषयांतर है)


अपडेट: ओपनबीएसडी परियोजना ने हाल ही में यूआईडी / जीआईडी ​​आवंटन को यादृच्छिक बनाने के विचार को खारिज कर दिया


ध्यान दें कि ये केवल धारणाएँ हैं। यूनिक्स और यूनिक्स जैसी प्रणालियों में, यूआईडी के बारे में कुछ भी जादुई नहीं है। रूट को मनमाने ढंग से 65535 का यूआईडी दिया जा सकता है और पहले इंटरएक्टिव यूजर को यूआईडी 0. के रूप में सौंपा जा सकता है
डग आर।

@DougR। संभवतः, लेकिन यह काफी हद तक मौजूदा सॉफ्टवेयर के कई टुकड़ों को तोड़ देगा। POSIX का कहना है कि एक प्रक्रिया को "उपयुक्त विशेषाधिकारों" की आवश्यकता है, न कि किसी उपयोगकर्ता को । "उपयुक्त विशेषाधिकारों" की परिभाषा भी देखें (जिसमें कुछ प्रणालियों पर यूआईडी 0 को " सुपरसियर
कुसलानंद

उपयोगकर्ता पर विशेषाधिकार मेरी टिप्पणी का बिंदु था, भले ही मैंने इसे स्पष्ट रूप से नहीं बताया जैसा कि आपने अभी किया। एकमात्र सॉफ्टवेयर जो टूटना चाहिए, वह सॉफ्टवेयर है जो एक विशिष्ट सीमा में होने के कारण इसके यूआईडी पर निर्भर करता है। निश्चित नहीं है कि क्या, अगर कुछ भी, वह करता है।
डग आर।

@DougR। संबंधित: superuser.com/questions/626843/...
Kusalananda

8

वितरण के लिए जो एलएसबी का पालन करते हैं , वे यूआईडी और जीआईडी ​​को 0-99 को सांख्यिकीय रूप से आवंटित करते हैं। यूआईडी 100-499 को गतिशील रूप से आवंटित किया जाता है, लेकिन ये भी सिस्टम के लिए हैं, और लॉगिन खातों के लिए नहीं।

उदाहरण के लिए, मुद्रण डेमों जैसे कि cupsअपना स्वयं का उपयोगकर्ता खाता आवंटित किया जाता है। इसलिए यदि डेमॉन में भेद्यता का शोषण किया जाता है, rootतो सिस्टम पर पूरी शक्ति के साथ डेमन नहीं चल रहा है। (और न ही यह आवश्यक रूप से अन्य डेमॉन के साथ हस्तक्षेप करने की शक्ति है)।

अधिक हाल के लिनक्स वितरण पर, सिस्टम रेंज को 999 तक बढ़ाया गया है।

यह लॉगिन खातों के लिए UIDs को 500 से ऊपर (या 1000 ऊपर की ओर) छोड़ देगा।

इसके अलावा डेबियन के लिए स्थैतिक आवंटन हैयूआईडीजीआईडी ​​100, हालांकि मैं कल्पना नहीं कर सकता कि किसी विशेष समस्या के कारण विचलन।

ऑफ़-बाय-वन विचलन के साथ किसी अन्य सिस्टम की कल्पना करना आसान है, जो इसके अतिरिक्त UID 500 को सुरक्षित रखता है। (मुझे लगता है कि यह अभी भी आज्ञाकारी होगा; मैं कल्पना नहीं कर सकता कि सभी लिनक्स इस लंबे समय से बिना LSB का उल्लंघन कर रहे हैं, बिना इसे अपडेट किया जा रहा है)।

पहले लॉगिन अकाउंट के लिए न तो एडमिन अकाउंट होना चाहिए और न ही प्राइमरी एडमिन अकाउंट। सिस्टम जरूरी उपयोग नहीं करते हैं sudo(खासकर यदि वे इसे पूर्व-तिथि करते हैं :)। आप कह सकते हैं कि "प्राथमिक व्यवस्थापक खाता" rootउस स्थिति में है। इसके अलावा, * निक्स और सामान्य प्रयोजन लिनक्स वितरण एक विशिष्ट "प्राथमिक व्यवस्थापक खाते" को नहीं पहचानते हैं।


निश्चित नहीं है कि आप लिनक्स के बारे में क्यों बात कर रहे हैं, जब ओपी विशेष रूप से मैक ओएस एक्स के बारे में पूछता है
एक CVn

> 7 घंटे पहले संपादित> nix सिस्टम में
sourcejedi

4
On more recent Linux distributions, the system range is extended up to 999.- मेरे पास हमेशा उपयोक्ता आईडी 1000 से ऊपर की ओर थी और मैंने 2005 में लिनक्स का उपयोग करना शुरू किया। मैं इसे "हाल" नहीं कहूंगा।
Mirek Długosz

आपको क्या लगता है कि 100 डेबियन पर स्थिर है? मेरे सिस्टम के एक जोड़े को देखते हुए यह मुझे गतिशील लगता है (एक पर यह systemd-timesync था, दूसरे पर यह sshd था)।
प्लगवॉश

जब प्रश्न 12:22 यूटीसी संपादित किया गया था, तो ओपी ने प्रश्न निकाय में ओएस एक्स के उल्लेख के साथ [ओएसएक्स] टैग जोड़ा। आपका उत्तर दस मिनट बाद पोस्ट किया गया था और यह बिल्कुल भी ध्यान में नहीं आता है।
बजे एक CVn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.