User identifier
یونکس جیسے آپریٹنگ سسٹم صارف کی شناخت اس قدر سے کرتے ہیں جسے صارف شناخت کار کہا جاتا ہے، جسے اکثر مختصر طور پر صارف آئی ڈی یا یو آئی ڈی کہا جاتا ہے۔ گروپ شناخت کنندہ (جی آئی ڈی) اور رسائی پر قابو پانے کے دیگر معیارات کے ساتھ یو آئی ڈی کا استعمال اس بات کا تعین کرنے کے لیے کیا جاتا ہے کہ صارف کس نظام کے وسائل تک رسائی حاصل کر سکتا ہے۔ پاس ورڈ فائل متن پر مبنی صارف کے ناموں کو یو آئی ڈی میں نقش کرتی ہے۔ یو آئی ڈیز کو یونکس فائل سسٹم کے انوڈس، چل رہے عمل، ٹار آرکائیوز، اور اب فرسودہ نیٹ ورک انفارمیشن سروس میں محفوظ کیا جاتا ہے۔ پوزیکس کے مطابق ماحول میں شیل کمانڈ آئی ڈی موجودہ صارف کی یو آئی ڈی کے ساتھ ساتھ مزید معلومات جیسے صارف کا نام، بنیادی صارف گروپ اور گروپ شناخت کنندہ (جی آئی ڈی) فراہم کرتا ہے۔ پروسیس ایٹریبیوٹس پوزیکس معیار نے پروسیس ڈسکرپٹر ٹیبل میں تین مختلف یو آئی ڈی فیلڈز متعارف کروائے، تاکہ مراعات یافتہ عمل کو متحرک طور پر مختلف کردار ادا کرنے کی اجازت دی جا سکے: ایفیکٹو یوزر آئی ڈی ایک عمل کا موثر یو آئی ڈی (ای یو آئی ڈی) زیادہ تر رسائی چیک کے لیے استعمال ہوتا ہے۔ اسے اس عمل کے ذریعے بنائی گئی فائلوں کے مالک کے طور پر بھی استعمال کیا جاتا ہے۔ کسی عمل کا موثر جی آئی ڈی (ای جی آئی ڈی) رسائی کے کنٹرول کو بھی متاثر کرتا ہے اور فائل کی تخلیق کو بھی متاثر کر سکتا ہے، اس کا انحصار استعمال میں مخصوص دانا کے نفاذ کے الفاظ اور ممکنہ طور پر استعمال ہونے والے ماؤنٹ آپشنز پر ہوتا ہے۔ بی ایس ڈی یونکس سیمنٹکس کے مطابق، نئی بنائی گئی فائل کو دی گئی گروپ کی ملکیت غیر مشروط طور پر اس ڈائرکٹری کی گروپ کی ملکیت سے وراثت میں ملتی ہے جس میں اسے بنایا گیا ہے۔ اے ٹی اینڈ ٹی یونکس سسٹم وی سیمنٹکس (جسے لینکس ورژنز نے بھی اپنایا ہے) کے مطابق، ایک نئی بنائی گئی فائل کو عام طور پر گروپ کی ملکیت دی جاتی ہے جو فائل بنانے والے عمل کے ای جی آئی ڈی کے ذریعے متعین ہوتی ہے۔ زیادہ تر فائل سسٹمز یہ منتخب کرنے کے لیے ایک طریقہ کار نافذ کرتے ہیں کہ آیا نئی بنائی گئی فائل کی گروپ ملکیت کے حوالے سے بی ایس ڈی یا اے ٹی اینڈ ٹی سیمنٹکس کا استعمال کیا جانا چاہیے ؛ جب S _ ISGID (s-gid) کی اجازت مقرر کی جاتی ہے تو مخصوص ڈائریکٹریز کے لیے بی ایس ڈی سیمنٹکس کا انتخاب کیا جاتا ہے۔ فائل سسٹم یوزر آئی ڈی لینکس میں ایک فائل سسٹم یوزر آئی ڈی (ایف ایس یو آئی ڈی) بھی ہے جو فائل سسٹم تک رسائی کے کنٹرول کے لیے واضح طور پر استعمال ہوتا ہے۔ یہ یوئڈ سے میل کھاتا ہے جب تک کہ واضح طور پر دوسری صورت میں مقرر نہ ہو۔ یہ روٹ کا یوزر آئی ڈی صرف اس صورت میں ہو سکتا ہے جب روئڈ، سویڈ، یا یوئڈ روٹ ہو۔ جب بھی یوئڈ کو تبدیل کیا جاتا ہے، تو تبدیلی کو ایف ایس یوڈ میں پھیلایا جاتا ہے۔ ایف ایس یو آئی ڈی کا ارادہ پروگراموں (مثال کے طور پر، این ایف ایس سرور) کو اجازت دینا ہے کہ وہ خود کو کچھ دیئے گئے یو آئی ڈی کے فائل سسٹم کے حقوق تک محدود رکھیں بغیر اس یو آئی ڈی کو سگنل بھیجنے کی اجازت دیے۔ کرنل 2 کے بعد سے، fsuid کا وجود اب ضروری نہیں ہے کیونکہ لینکس سگنلز بھیجنے کے لیے SUSv3 اصولوں پر عمل کرتا ہے، لیکن مطابقت کی وجوہات کی بناء پر fsuid باقی رہتا ہے۔ محفوظ شدہ یوزر آئی ڈی (سویڈ) کا استعمال اس وقت کیا جاتا ہے جب اعلی مراعات کے ساتھ چلنے والے پروگرام کو عارضی طور پر کچھ غیر مراعات یافتہ کام کرنے کی ضرورت ہوتی ہے۔ یوئڈ کو مراعات یافتہ قیمت (عام طور پر 0) سے کچھ غیر مراعات یافتہ قیمت (مراعات یافتہ قیمت کے علاوہ کچھ بھی) میں تبدیل کرنے سے مراعات یافتہ قیمت سویڈ میں محفوظ ہو جاتی ہے۔ بعد میں، کسی پروگرام کے یوئڈ کو سویڈ میں ذخیرہ شدہ قیمت پر واپس سیٹ کیا جا سکتا ہے، تاکہ بلند مراعات کو بحال کیا جا سکے۔ ایک غیر مراعات یافتہ عمل اپنے یوئڈ کو صرف تین اقدار میں سے کسی ایک پر سیٹ کر سکتا ہے: روئڈ کی قیمت، سویڈ کی قیمت، یا یوئڈ کی قیمت۔ حقیقی صارف آئی ڈی حقیقی یو آئی ڈی (روئڈ) اور حقیقی جی آئی ڈی (آر جی آئی ڈی) عمل کے حقیقی مالک کی شناخت کرتے ہیں اور سگنل بھیجنے کی اجازتوں کو متاثر کرتے ہیں۔ سپر یوزر کے مراعات کے بغیر ایک عمل صرف اس صورت میں دوسرے عمل کا اشارہ دے سکتا ہے جب بھیجنے والے کا روئڈ یا یوئڈ وصول کنندہ کے روئڈ یا سویڈ سے میل کھاتا ہو۔ چونکہ بچے کا عمل اپنی اسناد اپنے والدین سے وراثت میں حاصل کرتا ہے، اس لیے بچہ اور والدین ایک دوسرے کو اشارہ دے سکتے ہیں۔ کنونشن ٹائپ پوزیکس کے لیے یو آئی ڈی کو انٹیجر ٹائپ ہونا ضروری ہے۔ زیادہ تر یونکس جیسے آپریٹنگ سسٹم یو آئی ڈی کو غیر دستخط شدہ عدد کے طور پر پیش کرتے ہیں۔ یو آئی ڈی ویلیوز کا سائز مختلف سسٹمز کے درمیان مختلف ہوتا ہے۔ کچھ یونکس او ایس کے استعمال کردہ 15 بٹ ویلیوز، 32767 تک ویلیوز کی اجازت دیتے ہیں، جبکہ دیگر جیسے لینکس (ورژن 2.4 سے پہلے) 16 بٹ یو آئی ڈیز کی حمایت کرتے ہیں، جس سے 65536 منفرد آئی ڈیز ممکن ہو جاتے ہیں۔ جدید یونکس جیسے نظاموں کی اکثریت (مثال کے طور پر 1990 میں سولرس 2.1، 2001 میں لینکس 2.1) نے 32 بٹ یو آئی ڈیز کو تبدیل کر دیا ہے، جس سے 4,294,967، 296 (232) منفرد آئی ڈیز کی اجازت ملتی ہے۔ ریزروڈ رینجز لینکس اسٹینڈرڈ بیس کور اسپیسیفیکیشن اس بات کی وضاحت کرتی ہے کہ 0 سے 99 کی رینج میں یو آئی ڈی ویلیوز کو سسٹم کے ذریعے مستحکم طور پر مختص کیا جانا چاہیے، اور یہ ایپلی کیشنز کے ذریعے نہیں بنائے جائیں گے، جبکہ 100 سے 499 تک کے یو آئی ڈیز کو سسٹم ایڈمنسٹریٹرز اور پوسٹ انسٹال اسکرپٹ کے ذریعے متحرک الاٹمنٹ کے لیے محفوظ کیا جانا چاہیے۔ ڈیبین لینکس نہ صرف متحرک طور پر مختص کردہ سسٹم صارفین اور گروپوں کے لیے رینج 100-999 کو محفوظ رکھتا ہے، بلکہ مرکزی اور مستحکم طور پر رینج 60000-64999 میں صارفین اور گروپوں کو بھی مختص کرتا ہے اور رینج 65000-65533 کو مزید محفوظ رکھتا ہے۔ سسٹم ڈی متعدد خصوصی یو آئی ڈی حدود کی وضاحت کرتا ہے، بشمول 60001-60513: سسٹم ڈی ہومڈ 61184-65519 (0xef 00-0 xffef) کے زیر انتظام ہوم ڈائریکٹریز کے لیے یو آئی ڈی: متحرک صارفین کے لیے یو آئی ڈی۔ فری بی ایس ڈی پر، جن پورٹرز کو اپنے پیکیج کے لیے یو آئی ڈی کی ضرورت ہوتی ہے وہ 50 سے 999 کی حد میں سے مفت کا انتخاب کر سکتے ہیں اور پھر جامد الاٹمنٹ رجسٹر کر سکتے ہیں۔ کچھ پوزیکس سسٹم 500 سے شروع ہونے والے نئے صارفین کے لیے یو آئی ڈی مختص کرتے ہیں (میک او ایس، ریڈ ہیٹ انٹرپرائز لینکس ورژن 6 تک)، دوسرے 1000 سے شروع ہوتے ہیں (ریڈ ہیٹ انٹرپرائز لینکس ورژن 7 سے، اوپن ایس یو ایس ای، ڈیبین)۔ بہت سے لینکس سسٹمز پر، ان حدود کو یوزر ایڈ اور اسی طرح کے ٹولز کے لیے/وغیرہ/لاگ ان. ڈیفس میں متعین کیا جاتا ہے۔ انٹرپرائز نیٹ ورکس میں مرکزی یو آئی ڈی کی تقسیم (مثال کے طور پر، ایل ڈی اے پی اور این ایف ایس سرورز کے ذریعے) کلائنٹ کمپیوٹرز پر مقامی طور پر مختص یو آئی ڈی کے ساتھ ممکنہ تنازعات سے بچنے کے لیے خود کو 1000 سے اوپر اور 60000-65535 کی حد سے باہر صرف یو آئی ڈی نمبروں کے استعمال تک محدود کر سکتی ہے۔ جب نئے صارفین مقامی طور پر بنائے جاتے ہیں، تو مقامی نظام سے توقع کی جاتی ہے کہ وہ این ایس ایس پر پہلے سے موجود یو آئی ڈی کے ساتھ تنازعات کی جانچ کرے اور ان سے گریز کرے۔ لینکس نیم اسپیسز کا استعمال کرتے ہوئے، اور اس لیے ان حدود کو مختص کرنے کی ضرورت ہے جن میں دوبارہ نقشہ شدہ یو آئی ڈیز اور جی آئی ڈیز کا نقشہ بنایا جاتا ہے: سنیپڈ میپس یو آئی ڈیز اور جی آئی ڈیز کو رینج میں 524288-589823 (0x 80000-0 x8 ایف ایف ایف) سسٹم ڈی-این اسپان فی کنٹینر یو آئی ڈی رینجز کے خودکار الاکیٹس رینج 524288-1879048191 (0x 80000-0 x6 ایف ایف ایف ایف ایف) کا استعمال کرتے ہیں۔ سسٹم ڈی مصنفین تجویز کرتے ہیں کہ او ایس سطح کے ورچوئلائزیشن سسٹم کو فی کنٹینر 65536 (216) یو آئی ڈیز مختص کرنا چاہیے، اور انہیں 216 کے انٹیجر ملٹیپل کو شامل کرکے نقشہ بنانا چاہیے۔ خصوصی اقدار 0: سپر یوزر کے پاس عام طور پر صفر (0) کا یو آئی ڈی ہوتا ہے۔ −1: ویلیو (uid _ t)-1 پوزیکس کے ذریعہ کسی خارج شدہ دلیل کی شناخت کے لیے محفوظ ہے۔ 65535: اس قدر سے اب بھی گریز کیا جاتا ہے کیونکہ یہ API ایرر ریٹرن ویلیو تھی جب uid _ t 16 بٹس تھا۔ کوئی نہیں: تاریخی طور پر، صارف "کوئی نہیں" کو کئی آپریٹنگ سسٹمز کے ذریعے یو آئی ڈی-2 تفویض کیا گیا تھا، حالانکہ 215−1 = 32,767 جیسی دیگر اقدار بھی استعمال میں ہیں، جیسے کہ اوپن بی ایس ڈی۔ 16 بٹ اور 32 بٹ یو آئی ڈی کے درمیان مطابقت کے لیے، بہت سے لینکس ڈسٹری بیوشن اب اسے 216−2 = 65,534 مقرر کرتے ہیں ؛ لینکس کرنل اس قدر کو واپس کرنے کے لیے ڈیفالٹ ہوتا ہے جب 32 بٹ یو آئی ڈی 16 بٹ سسٹم کالز کی ریٹرن ویلیو میں فٹ نہیں ہوتا ہے۔ فیڈورا لینکس سسٹم کے استعمال کے لیے مستحکم طور پر مختص کردہ رینج کا آخری یو آئی ڈی (0-99) کسی کو نہیں: 99 تفویض کرتا ہے، اور این ایف ایس نو باڈی کے بجائے 65534 پر کال کرتا ہے۔ متبادل این ایف ایس وی 4 کا مقصد انٹیجر نمبروں کے بجائے متن "user@domain" ناموں کا استعمال کرتے ہوئے پروٹوکول پیکٹوں میں صارفین (اور گروپوں) کی شناخت کرکے عددی شناخت کنندہ کے تصادم سے بچنے میں مدد کرنا تھا۔ تاہم، جب تک آپریٹنگ سسٹم کے دانے اور مقامی فائل سسٹم انٹیجر صارف شناخت کاروں کا استعمال جاری رکھتے ہیں، یہ اضافی ترجمے کے مراحل (آئی ڈی میپ ڈیمون کے عمل کا استعمال کرتے ہوئے) کی قیمت پر آتا ہے، جو مقامی یو آئی ڈی میپنگ میکانزم یا ڈیٹا بیس کو غلط طریقے سے ترتیب دینے، گمشدہ ہونے یا مطابقت پذیری سے باہر ہونے کی صورت میں اضافی ناکامی کے نکات متعارف کرا سکتے ہیں۔ صارف نام کا "@domain" حصہ اس بات کی نشاندہی کرنے کے لیے استعمال کیا جا سکتا ہے کہ کس اتھارٹی نے کوئی خاص نام مختص کیا ہے، مثال کے طور پر کربروس دائرے کے نام کی شکل میں ایک فعال ڈائرکٹری ڈومین نام ایک آپریٹنگ سسٹم وینڈر کا نام (تقسیم کے لیے مخصوص مختص کرنے کے لیے) کمپیوٹر کا نام (ڈیوائس کے لیے مخصوص مختص کرنے کے لیے) لیکن عملی طور پر بہت سے موجودہ نفاذ صرف این ایف ایس وی 4 ڈومین کو ایک مقررہ قیمت پر ترتیب دینے کی اجازت دیتے ہیں، اس طرح اسے بیکار بنا دیتے ہیں۔ ایف اے ٹی رسائی کے حقوق فائل سسٹم کی اجازتات اوپن (سسٹم کال) پروسیس شناخت کنندہ سیکیورٹی شناخت کنندہ (ایس آئی ڈی)-ونڈوز این ٹی کے مساوی سیٹوئڈ اسٹیکی بٹ حوالہ جات یونکس یونکس فائل سسٹم ٹیکنالوجی بھی دیکھیں۔