SLAPO-CHAIN(5) File Formats Manual SLAPO-CHAIN(5)

slapo-chain - اورلی بازپخش زنجیرهای به پایگاههای داده پشتیبان در slapd

/etc/openldap/slapd.conf

اورلی chain برای slapd(8) امکان دنبال کردن خودکار ارجاعات را فراهم می‌کند. هر زمان که یک ارجاع بازگردانده شود (به جز برای عملیات‌های bind)، با استفاده از نمونه‌ای از بک‌اند ldap دنبال می‌شود. اگر عملیات‌ها با یک هویت انجام شوند (یعنی پس از یک bind)، آن هویت می‌تواند هنگام دنبال کردن ارجاعات با استفاده از قابلیت identity assertion (اثبات هویت) بک‌اند back-ldap اثبات شود (برای جزئیات به slapd-ldap(5) مراجعه کنید)، که اساساً بر پایه کنترل proxied authorization [RFC 4370] است. دنبال کردن ارجاع می‌تواند توسط کلاینت با ارسال کنترل chaining کنترل شود (برای جزئیات به draft-sermersheim-ldap-chaining مراجعه کنید).

دستورالعمل‌های پیکربندی که مختص اورلی chain هستند، دارای پیشوند chain- می‌باشند تا از تداخل‌های احتمالی با دستورالعمل‌های ویژه پایگاه‌داده زیرین یا سایر اورلی‌های پشته‌شده جلوگیری شود.

دستورالعمل‌های بسیار کمی مختص اورلی chain وجود دارند؛ با این حال، دستورالعمل‌های مرتبط با نمونه‌های بک‌اند ldap که ممکن است به‌طور ضمنی توسط اورلی نمونه‌سازی شوند، هنگام استفاده در ترکیب با این اورلی ممکن است مفهوم خاصی به خود بگیرند. آنها در slapd-ldap(5) توضیح داده شده‌اند، و همچنین باید پیشوند chain- داشته باشند.

نکته: این اورلی درون بک‌اند ldap تعبیه شده است؛ و یک ماژول جداگانه نیست.

این دستورالعمل، اورلی chain را به بک‌اند فعلی اضافه می‌کند. اورلی chain ممکن است با هر بک‌اَندی استفاده شود، اما عمدتاً برای استفاده با بک‌اندهای ذخیره‌سازی محلی در نظر گرفته شده است که ممکن است ارجاعات را بازگردانند. این اورلی در ترکیب با بک‌اندهای slapd-ldap و slapd-meta بی‌فایده است، زیرا آنها از پیش از قابلیت دنبال کردن ارجاع مختص libldap بهره می‌برند. [نکته: این مورد ممکن است در آینده تغییر کند، چرا که بک‌اندهای ldap(5) و meta(5) ممکن است دیگر خودشان ارجاعات را دنبال نکنند.]
این دستورالعمل به اورلی chain دستور می‌دهد اتصالات به URIهایی را که از ارجاعات استخراج شده و از پیش تعریف نشده‌اند، کش کند تا برای زنجیره‌سازی‌های بعدی مجدداً استفاده شوند. این URIها خصوصیات پیکربندی‌شده برای slapd-ldap(5) زیرین را پیش از هر رخدادِ دستورالعمل chain-uri به ارث می‌برند؛ اساساً، آنها به‌صورت ناشناس زنجیره می‌شوند.
این دستورالعمل کنترل chaining (برای جزئیات به draft-sermersheim-ldap-chaining مراجعه کنید) را با رفتارهای تفکیک (resolve) و تداوم (continuation) مورد نظر و همچنین میزان حساسیت (criticality) فعال می‌کند. پارامتر resolve به رفتار هنگام کشف منبع اشاره دارد، به ویژه هنگام دسترسی به شیء مشخص‌شده توسط DN درخواست؛ پارامتر continuation به رفتار هنگام مدیریت پاسخ‌های میانی اشاره دارد، که عمدتاً برای عملیات جستجو اهمیت دارد، اما ممکن است بر عملیات‌های توسعه‌یافته‌ای که پاسخ‌های میانی بازمی‌گردانند نیز تأثیر بگذارد. مقادیر r و c می‌توانند هر یک از موارد chainingPreferred، chainingRequired، referralsPreferred، referralsRequired باشند. پرچم critical در صورت ارائه، بر حساسیت (criticality) کنترل اثر می‌گذارد. [این کنترل آزمایشی است و پشتیبانی از آن ممکن است در آینده تغییر کند.]
در صورتی که در حین دنبال کردن ارجاع، یک ارجاع بازگردانده شود، دنبال کردن بیشتر حداکثر تا <n> سطح در عمق رخ می‌دهد. برای غیرفعال کردن دنبال کردن ارجاعات بعدی، آن را روی 1 (مقدار پیش‌فرض) تنظیم کنید.
در صورتی که دنبال کردن ارجاع با شکست مواجه شود، خطای واقعی به جای ارجاع اصلی بازگردانده می‌شود. در صورت وجود چندین URI ارجاع، تنها اولین خطا بازگردانده می‌شود. این رفتار ممکن است همیشه مناسب یا مطلوب نباشد، زیرا شکست در دنبال کردن ارجاع ممکن است توسط کلاینت بهتر برطرف شود (به عنوان مثال هنگامی که ناشی از مشکلات احرازهویت توزیع‌شده باشد).
این دستورالعمل یک پایگاه‌داده ldap زیرین جدید نمونه‌سازی کرده و به آن مشخص می‌کند برای دنبال کردن ارجاعات با کدام URI تماس بگیرد. برخلاف آنچه در slapd-ldap(5) بیان شده است، تنها یک URI می‌تواند بعد از این دستورالعمل قرار گیرد؛ تمام دستورالعمل‌های بعدی slapd-ldap(5) با پیشوند chain- به این نمونه خاص از سرور راه دور اشاره دارند.

همچنین ممکن است دستورالعمل‌هایی برای پیکربندی پایگاه‌داده ldap زیرین لازم باشد، همان‌طور که در این مثال نشان داده شده است:

overlay                 chain
chain-rebind-as-user    FALSE
chain-uri               "ldap://ldap1.example.com"
chain-rebind-as-user    TRUE
chain-idassert-bind     bindmethod="simple"
                        binddn="cn=Auth,dc=example,dc=com"
                        credentials="secret"
                        mode="self"
chain-uri               "ldap://ldap2.example.com"
chain-idassert-bind     bindmethod="simple"
                        binddn="cn=Auth,dc=example,dc=com"
                        credentials="secret"
                        mode="none"

هر دستورالعمل معتبری برای پایگاه‌داده ldap می‌تواند استفاده شود؛ برای جزئیات به slapd-ldap(5) مراجعه کنید. دستورالعمل chain-uri می‌تواند چندین بار تکرار شود، تا چندین URI «مورد اعتماد» تعریف شوند که در آنها عملیات‌ها با identity assertion (اثبات هویت) زنجیره‌سازی می‌شوند. تمامی URIهایی که در پیکربندی قید نشده‌اند، به‌صورت ناشناس زنجیره می‌شوند. تمامی دستورالعمل‌های slapd-ldap(5) که پیش از نخستین رخداد chain-uri ظاهر می‌شوند، توسط همه URIها به ارث برده می‌شوند، مگر اینکه مشخصاً در پیکربندی هر URI بازنویسی شوند.

/etc/openldap/slapd.conf
فایل پیکربندی پیش‌فرض slapd

slapd.conf(5), slapd-config(5), slapd-ldap(5), slapd(8).

در ابتدا توسط Howard Chu پیاده‌سازی شد؛ توسعه‌یافته توسط Pierangelo Masarati.

2026/03/09 OpenLDAP 2.6.13