BTW - यह सवाल / जवाब आज के ओएस के लिए अपडेट किया गया है।
Redhat से उद्धरण : अद्वितीय UID और GID नंबर असाइनमेंट का प्रबंधन , यह UID और GID के उपयोग और उनके प्रबंधन और कैसे जनरेटर (आईडी सर्वर) का वर्णन करता है
यादृच्छिक यूआईडी और जीआईडी मान उत्पन्न करना चाहिए और साथ ही यह सुनिश्चित करना होगा कि प्रतिकृतियां कभी भी समान यूआईडी या जीआईडी मूल्य उत्पन्न न करें। यदि किसी एकल संगठन में कई अलग-अलग डोमेन हैं, तो यूआईडी और जीआईडी नंबर के लिए विशिष्ट आईडीआईडी डोमेन को पार करने की आवश्यकता हो सकती है।
इसी तरह, उपयोगिताओं जो सिस्टम तक पहुंच की अनुमति देती हैं वे अप्रत्याशित रूप से व्यवहार कर सकते हैं (एक ही संदर्भ):
यदि दो प्रविष्टियों को एक ही आईडी नंबर दिया जाता है, तो उस नंबर की खोज में केवल पहली प्रविष्टि वापस आ जाती है।
समस्या तब आती है जब "पहले" की अवधारणा को परिभाषित किया गया है। स्थापित सेवा के आधार पर, उपयोगकर्ता नाम को एक चर आकार के हैश में रखा जा सकता है जो असंगत कारकों के आधार पर एक अलग उपयोगकर्ता नाम लौटाएगा। (मुझे पता है कि यह सच है, जैसा कि मैंने कभी-कभी 2 उपयोगकर्ता नाम w / एक आईडी का उपयोग करने की कोशिश की है, एक स्थानीय उपयोगकर्ता नाम है, और दूसरा एक domain.username है जिसे मैं UID में मैप करना चाहता था (जिसे मैंने अंततः संबोधित किया था) एक पूरी तरह से अलग), लेकिन मैं "usera" के साथ लॉग इन कर सकता हूं, एक "हू" या "id" कर सकता हूं और "userb" या "usera" देख सकता हूं - बेतरतीब ढंग से।
यूआईडी के कई मूल्यों को एक समूह से प्राप्त करने के लिए एक इंटरफ़ेस है (एकल जीआईडी वाले समूह कई यूआईडी के साथ जुड़े होने के लिए डिज़ाइन किए गए हैं), लेकिन एक यूआईडी के लिए नामों की सूची वापस करने के लिए कोई पोर्टेबल इंटरफ़ेस नहीं है, इसलिए किसी को भी उसी की उम्मीद है या सिस्टम के बीच समान व्यवहार या यहां तक कि एक ही सिस्टम पर एप्लिकेशन अप्रभावित रूप से आश्चर्यचकित हो सकते हैं।
सूर्य (अब oracle) yp (येलोपेज) या NIS (NetworkInformationServices) में, विशिष्टता की आवश्यकताओं के कई संदर्भ भी हैं। विशेष कार्य और सर्वर कई सर्वरों और डोमेन में अद्वितीय ID को आवंटित करने के लिए सेटअप हैं (उदाहरण uid_allocd, gid_allocd है - UID और GID आवंटन दाता मेन्यू
एक तीसरा स्रोत जो जाँच सकता है वह है NFS खाता मानचित्रण के लिए Microsoft का सर्वर प्रलेखन। एनएफएस एक यूनिक्स फाइल शेयर प्रोटोकॉल है और वे वर्णन करते हैं कि आईडी द्वारा फ़ाइल अनुमतियों और पहुंच को कैसे बनाए रखा जाता है। वहाँ, वे लिखते हैं:
यूआईडी। यह उपयोगकर्ताओं द्वारा पहचान करने के लिए UNIX ऑपरेटिंग सिस्टम द्वारा उपयोग किया गया एक अहस्ताक्षरित पूर्णांक है और पासवार्ड फ़ाइल में विशिष्ट होना चाहिए।
GID। यह UNIX कर्नेल द्वारा समूहों की पहचान करने के लिए उपयोग किया गया एक अहस्ताक्षरित पूर्णांक है और समूह फ़ाइल में अद्वितीय होना चाहिए। MS-NFS- प्रबंधन पृष्ठ
हालांकि कुछ OS ने कई नामों / UID (BSD डेरिवेटिव्स, शायद?) की अनुमति दी हो सकती है, अधिकांश OS इस पर विशिष्ट होते हैं और अप्रत्याशित रूप से व्यवहार कर सकते हैं जब वे नहीं हैं।
नोट - मैं इस पृष्ठ को जोड़ रहा हूं, क्योंकि किसी ने इस दिनांकित प्रविष्टि को गैर-विशिष्ट यूआईडी / जीआईडी के ... को समायोजित करने के लिए आधुनिक बर्तनों के समर्थन के रूप में संदर्भित किया है, जो कि ज्यादातर नहीं।