IDMAP_AUTORID(8) ابزارهای مدیریت سیستم IDMAP_AUTORID(8)

idmap_autorid - بک‌اِند idmap_autorid مربوط به Samba برای Winbind

بک‌اِند idmap_autorid روشی برای استفاده از یک طرح نگاشت الگوریتمی به منظور نگاشت شناسه‌های UID/GID و SID فراهم می‌کند که نسبت به idmap_tdb قطعی‌تر بوده و پیکربندی آن از idmap_rid آسان‌تر است.

این ماژول شبیه به idmap_rid عمل می‌کند، اما به طور خودکار محدوده‌ای را که باید برای هر دامنه استفاده شود پیکربندی می‌نماید؛ بنابراین نیازی به تعیین یک محدوده مشخص برای هر دامنه در بیشه (forest) نیست؛ تنها پیکربندی مورد نیاز، محدوده uid/gidهایی است که باید برای نگاشت‌های کاربر/گروه استفاده شود و همچنین اندازه اختیاری محدوده‌های مورد استفاده.

نگاشت‌های مربوط به این‌که کدام دامنه به کدام محدوده نگاشت شده است در autorid.tdb ذخیره می‌شوند، بنابراین باید به طور منظم از این پایگاه‌داده نسخه پشتیبان تهیه کنید.

با توجه به الگوریتم مورد استفاده، این ماژول ساده‌ترین ماژول برای استفاده است زیرا فقط به حداقل پیکربندی نیاز دارد.

range = low - high

محدوده در دسترس UID و GID منطبق را مشخص می‌کند که این بک‌اِند روی آن مرجعیت دارد. توجه داشته باشید که این محدوده مانند یک فیلتر عمل می‌کند. اگر UID یا GID تعیین‌شده به صورت الگوریتمی خارج از این محدوده قرار گیرند، نادیده گرفته شده و نگاشت متناظر دور انداخته می‌شود. این سازوکار به عنوان روشی برای جلوگیری از هم‌پوشانی تصادفی UID/GID میان شناسه‌های تعریف‌شده به صورت محلی و از راه دور در نظر گرفته شده است. توجه داشته باشید که این محدوده باید مضربی از rangesize باشد و لازم است حداقل دو برابر بزرگ‌تر باشد تا فضای محدوده شناسه کافی برای دامنه اجباری BUILTIN وجود داشته باشد. با یک rangesize پیش‌فرض ۱۰۰۰۰۰، محدوده باید حداقل ۲۰۰000 را پوشش دهد. این به صورت زیر خواهد بود: range = 100000 - 299999.

rangesize = numberofidsperrange

تعداد uid/gidهای در دسترس به ازای هر محدوده دامنه را مشخص می‌کند. حداقل مقدار مورد نیاز ۲۰۰۰ است. SIDهایی با RIDهای بزرگ‌تر از این مقدار، بسته به تعداد محدوده‌های در دسترس، در محدوده‌های الحاقی (extension ranges) نگاشت خواهند شد. اگر محدوده‌های در دسترس بک‌اِند autorid تمام شوند، درخواست‌های نگاشت برای دامنه‌های جدید (یا محدوده‌های الحاقی جدید برای دامنه‌هایی که از قبل شناخته شده‌اند) نادیده گرفته شده و نگاشت متناظر دور انداخته می‌شود.

مثال: با تنظیم rangesize بر روی ۱۰۰۰۰، کاربران/گروه‌هایی با یک RID تا ۱۰۰۰۰ در اولین محدوده برای دامنه قرار خواهند گرفت. هنگام تلاش برای نگاشت یک شیء با RID برابر ۲۵۰۰۰، یک محدوده الحاقی تخصیص داده می‌شود که سپس برای نگاشت همه RIDها از ۲۰۰۰۰-۲۹۹۹۹ استفاده خواهد شد.

یک محدوده برای کاربران و گروه‌های محلی و برای SIDهای شناخته‌شده غیردامنه‌ای مانند Everyone (S-1-1-0) یا Creator Owner (S-1-3-0) استفاده خواهد شد. فهرستی برگزیده از SIDهای شناخته‌شده در اولین راه‌اندازی از پیش تخصیص می‌یابند تا نگاشت‌های قطعی برای آن‌ها ایجاد شود.

بنابراین تعداد کاربران و گروه‌های محلی قابل ایجاد نیز توسط این گزینه محدود می‌شود. اگر قصد دارید تعداد زیادی کاربر یا گروه محلی ایجاد کنید، باید این پارامتر را مطابق با آن تنظیم نمایید.

مقدار پیش‌فرض ۱۰۰۰۰۰ است.

read only = [ yes | no ]

ماژول را در حالت فقط‌خواندنی قرار می‌دهد. هیچ محدوده جدیدی تخصیص داده نخواهد شد و نگاشت جدیدی نیز در مخزن idmap ایجاد نمی‌شود. حالت پیش‌فرض no است.

ignore builtin = [ yes | no ]

نادیده گرفتن هرگونه درخواست نگاشت برای دامنه BUILTIN. حالت پیش‌فرض no است.

شناسه یونیکس برای یک RID به این صورت محاسبه می‌شود:

ID =  REDUCED RID + IDMAP RANGE LOW VALUE + RANGE NUMBER * RANGE SIZE

که در آن REDUCED RID = RID % RANGE_SIZE بوده و یک DOMAIN RANGE INDEX = RID / RANGE_SIZE به همراه sid دامنه برای تعیین RANGE NUMBER (ذخیره‌شده در پایگاه‌داده) استفاده می‌شود.

به طور متناظر، فرمول محاسبه RID برای یک شناسه یونیکس مشخص به این صورت است:

RID = (ID - LOW ID) % RANGE SIZE + DOMAIN RANGE INDEX * RANGE SIZE

که در آن DOMAIN RANGE INDEX به همراه sid دامنه توسط فرمول RANGE NUMBER = (ID - LOW ID) / RANGE SIZE از پایگاه‌داده بازیابی می‌شود.

این مثال حداقل پیکربندی را نشان می‌دهد که برای دامنه اصلی و ۱۹ دامنه مورد اعتماد / افزونه‌های محدوده کار خواهد کرد.

[global]
security = ads
workgroup = CUSTOMER
realm = CUSTOMER.COM
idmap config * : backend = autorid
idmap config * : range = 1000000-1999999

این مثال نحوه پیکربندی idmap_autorid را به عنوان پیش‌فرض برای همه دامنه‌ها با تعداد بالقوه زیادی از کاربران، به همراه یک پیکربندی مشخص برای یک دامنه مورد اعتماد که از طرح نگاشت SFU استفاده می‌کند، نشان می‌دهد. لطفاً توجه داشته باشید که محدوده‌های idmap و محدوده‌های sfu مجاز به هم‌پوشانی نیستند.

[global]
security = ads
workgroup = CUSTOMER
realm = CUSTOMER.COM
idmap config * : backend = autorid
idmap config * : range = 1000000-19999999
idmap config * : rangesize = 1000000
idmap config TRUSTED : backend  = ad
idmap config TRUSTED : range    = 50000 - 99999
idmap config TRUSTED : schema_mode = sfu

نرم‌افزار اصلی Samba و ابزارهای مرتبط توسط Andrew Tridgell ساخته شده‌اند. Samba اکنون توسط Samba Team به عنوان یک پروژه متن‌باز و مشابه شیوه توسعه هسته لینوکس توسعه داده می‌شود.

08/16/2026 Samba 4.24.6