.TH "SLAPD-ASYNCMETA" "5" "2026/03/09" "OpenLDAP 2.6.13" "فایل‌های پیکربندی" .\" Copyright 2016-2026 The OpenLDAP Foundation. .\" Portions Copyright 2016 Symas Corporation. .\" Copying restrictions apply. See the COPYRIGHT file. .\" $OpenLDAP$ .\" .SH "نام (NAME)" slapd-asyncmeta \- بکاند متا دایرکتوری ناهمگام (Asynchronous Metadirectory) برای slapd .SH "خلاصه دستور (SYNOPSIS)" /etc/openldap/slapd.conf .SH "توضیحات (DESCRIPTION)" بکاند .B asyncmeta برای .BR slapd (8) پروکسی کردن پایه‌ای LDAP را نسبت به مجموعه‌ای از سرورهای LDAP راه دور که «مقصدها» (targets) نامیده می‌شوند، انجام می‌دهد. اطلاعات موجود در این سرورها می‌تواند به عنوان بخشی از یک درخت اطلاعات دایرکتوری (DIT) واحد ارائه شود. .LP داشتن دانش کافی از قابلیت‌های بکاند .BR slapd\-meta (5) توصیه می‌شود. این بکاند به عنوان نسخه‌ای ناهمگام (asynchronous) از بکاند .B meta طراحی شده است. بر خلاف .BR meta ، ریسمان‌های مدیریت عملیات دیگر در انتظار پاسخ از سرور راه دور متوقف نمی‌مانند، بنابراین تعداد ریسمان‌های لازم برای مدیریت همان بار کاری کاهش می‌یابد. در حالی که .B asyncmeta قابلیت‌های .B meta را حفظ کرده و پایگاه‌کد تا حد زیادی مشابهی دارد، برخی تغییرات در عملکرد و چند دستورالعمل پیکربندی جدید اضافه شده است. برخی گزینه‌های پیکربندی، مانند .BR conn\-pool\-max ، .BR conn\-ttl ، .B single\-conn و .B use\-temporary\-conn حذف شده‌اند، زیرا دیگر مرتبط و کاربردی نیستند. .LP .B مدیریت اتصالات جدید: .LP بر خلاف .B meta که اتصالات متصل‌شده (bound) را کش می‌کند، .B asyncmeta با حداکثر تعداد اتصالات پیکربندی‌شده به ازای هر مقصد کار می‌کند. برای هر درخواستی که به یک مقصد بازهدایت می‌شود، اتصال متفاوتی انتخاب می‌گردد. هر اتصال دارای یک صف است که درخواست قبل از ارسال به سرور راه دور به آن اضافه شده و پس از دریافت آخرین پاسخ برای آن درخواست، از صف حذف می‌شود. برای هر درخواست جدید، اتصال جدیدی با استفاده از زمان‌بندی نوبت‌گردشی (round\-robin) انتخاب می‌شود. .LP .B لایه‌های پوششی (Overlays): .LP به دلیل ویژگی‌های خاص پیاده‌سازی، هیچ تضمینی وجود ندارد که هیچ‌یک از لایه‌های پوششی موجود در OpenLDAP با بکاند .B asyncmeta کار کنند. .SH "مثال‌ها (EXAMPLES)" برای نمونه‌های پیکربندی به .BR slapd\-meta (5) مراجعه کنید. .SH "پیکربندی (CONFIGURATION)" این گزینه‌های .B slapd.conf برای پایگاه داده بکاند ASYNCMETA اعمال می‌شوند. یعنی باید پس از خط "database asyncmeta" و قبل از هر خط بعدی "backend" یا "database" قرار گیرند. سایر گزینه‌های پایگاه داده در صفحه راهنمای .BR slapd.conf (5) شرح داده شده‌اند. .SH "دستورالعمل‌های پیکربندی ویژه (SPECIAL CONFIGURATION DIRECTIVES)" پیکربندی مقصد با دستورالعمل "uri" آغاز می‌شود. تمام دستورالعمل‌های پیکربندی که مختص مقصدها نیستند باید برای شفافیت در ابتدا تعریف شوند، از جمله دستورالعمل‌هایی که برای همه بکاندها مشترک هستند. آن‌ها عبارتند از: .TP .B default\-target none این دستورالعمل بکاند را وادار می‌کند تا در صورتی که هیچ مقصدی یا چندین مقصد انتخاب شده باشند، تمام عملیاتی را که باید به یک مقصد واحد ختم شوند، رد کند. این عملیات شامل موارد زیر است: add، delete، modify، modrdn؛ عملیات compare و همچنین bind شامل این مورد نمی‌شوند، زیرا مدخل‌ها را تغییر نمی‌دهند و در صورت تطابق‌های متعدد، تلاشی برای انجام عملیات روی هر مقصد کاندید با این شرط که حداکثر یکی از آن‌ها باید موفق شود، صورت می‌گیرد. این دستورالعمل همچنین می‌تواند هنگام پردازش مقصدها برای علامت‌گذاری یک مقصد خاص به عنوان پیش‌فرض استفاده شود. .TP .B dncache\-ttl {DISABLED|forever|} این دستورالعمل زمان حیات (time-to-live) کش DN را تعیین می‌کند. این مورد، مقصدی را که دارای یک DN مشخص است کش می‌کند تا در صورتی که یک جستجوی بدون کش منجر به چندین مقصد شود، انتخاب مقصد تسریع یابد؛ .B forever یعنی کش هرگز منقضی نمی‌شود؛ .B disabled یعنی عدم کش کردن DN؛ در غیر این صورت یک ttl معتبر ( > 0 ) به فرمتی که برای دستورالعمل .B idle\-timeout نشان داده شده، مورد نیاز است. .TP .B onerr {CONTINUE|report|stop} این دستورالعمل امکان انتخاب رفتار در صورت بازگردانده شدن خطا توسط یک مقصد در حین جستجو را فراهم می‌کند. حالت پیش‌فرض، \fBcontinue\fP، شامل ادامه عملیات و تلاش برای بازگرداندن بیشترین داده ممکن است. اگر مقدار روی \fBstop\fP تنظیم شود، به محض این‌که خطایی از سوی یک مقصد بازگردانده شود جستجو خاتمه می‌یابد و خطا فوراً به کلاینت منتقل می‌شود. اگر مقدار روی \fBreport\fP تنظیم شود، جستجو تا انتها ادامه می‌یابد اما در صورتی که حداقل یک مقصد کد خطا بازگردانده باشد، اولین کد خطای غیرموفق بازگردانده می‌شود. .TP .B max\-timeout\-ops تعداد درخواست‌های متوالی دارای وقفه زمانی (timed out) را مشخص می‌کند که پس از آن اتصال معیوب در نظر گرفته شده و قطع می‌شود. .TP .B max\-pending\-ops حداکثر تعداد درخواست‌های در حال انتظار ذخیره‌شده در صف یک اتصال. مقدار پیش‌فرض 128 است. هنگامی که از این تعداد فراتر رود، .B LDAP_BUSY به کلاینت بازگردانده خواهد شد. .TP .B max\-target\-conns حداکثر تعداد اتصالات به ازای هر مقصد. بر خلاف .BR slapd\-meta (5)، پس از رسیدن به این تعداد، هیچ اتصال جدیدی ایجاد نخواهد شد. مقدار پیش‌فرض 255 است. .TP .B norefs اگر .BR yes باشد، پاسخ‌های ارجاع جستجو (search reference responses) را بازنمی‌گرداند. به‌طور پیش‌فرض، آن‌ها بازگردانده می‌شوند مگر اینکه درخواست LDAPv2 باشد. اگر پیش از هرگونه مشخصات مقصد تنظیم شود، بر همه مقصدها اعمال می‌شود، مگر اینکه توسط دستورالعمل‌های خاص هر مقصد بازنویسی شود. .TP .B noundeffilter اگر .BR yes باشد، در صورتی که فیلتر تعریف‌نشده باشد یا شامل بخش‌های تعریف‌نشده باشد، به جای جستجو موفقیت را بازمی‌گرداند. به‌طور پیش‌فرض، جستجو پس از جایگزینی بخش‌های تعریف‌نشده با .B (!(objectClass=*)) که متناظر با مجموعه نتایج خالی است، ارسال می‌شود. اگر پیش از هرگونه مشخصات مقصد تنظیم شود، بر همه مقصدها اعمال می‌شود، مگر اینکه توسط دستورالعمل‌های خاص هر مقصد بازنویسی شود. .TP .B protocol\-version {0,2,3} این دستورالعمل مشخص می‌کند که چه نسخه‌ای از پروتکل باید برای تماس با سرور راه دور استفاده شود. اگر روی 0 (پیش‌فرض) تنظیم شود، پروکسی از همان نسخه پروتکل استفاده‌شده توسط کلاینت استفاده می‌کند، در غیر این صورت پروتکل درخواستی استفاده خواهد شد. اگر عملیاتی انجام شود که با پروتکل درخواستی ناسازگار باشد، پروکسی \fIunwillingToPerform\fP را بازمی‌گرداند. اگر پیش از هرگونه مشخصات مقصد تنظیم شود، بر همه مقصدها اعمال می‌شود، مگر اینکه توسط دستورالعمل‌های خاص هر مقصد بازنویسی شود. .TP .B pseudoroot\-bind\-defer {YES|no} این دستورالعمل، هنگامی که روی .BR yes تنظیم شود، باعث می‌شود احراز هویت در سرورهای راه دور با هویت ریشه کاذب (pseudo-root) (هویت تعریف‌شده در هر دستورالعمل .BR idassert-bind ) تا زمانی که واقعاً توسط عملیات بعدی مورد نیاز باشد، به تعویق بیفتد. در غیر این صورت، تمام bindها با هویت rootdn به مقصدها ارسال می‌شوند. .TP .B quarantine ,[;,[...]] قرنطینه کردن URIهایی را که .B LDAP_UNAVAILABLE بازگردانده‌اند فعال می‌کند، به طوری که تلاش برای اتصال مجدد فقط در فواصل زمانی مشخص رخ می‌دهد، نه هر باری که کلاینت درخواستی ارسال می‌کند. الگو به این صورت است: تلاش مجدد فقط پس از گذشت حداقل .I interval ثانیه از آخرین تلاش، دقیقاً به تعداد .I num بار؛ سپس از الگوی بعدی استفاده می‌شود. اگر مقدار .I num برای آخرین الگو برابر با «\fB+\fP» باشد، تلاش تا ابد ادامه می‌یابد؛ در غیر این صورت، دیگر تلاشی صورت نمی‌گیرد. این دستورالعمل باید پیش از هرگونه مشخصات مقصد قرار گیرد؛ این دستور با الگوی یکسان بر همه مقصدها اعمال می‌شود. .TP .B rebind\-as\-user {NO|yes} در صورت تعیین این گزینه، مشخصات احراز هویت bind کلاینت برای اتصال‌های مجدد، در هنگام تلاش برای برقراری مجدد یک اتصال قطع‌شده، یا هنگام تعقیب ارجاع (در صورتی که .B chase\-referrals روی .IR yes تنظیم شده باشد)، به خاطر سپرده می‌شود. .TP .B session\-tracking\-request {NO|yes} کنترل ردگیری نشست (session tracking) را برای تمام درخواست‌ها اضافه می‌کند. نشانی IP و نام هاست کلاینت، و هویت مرتبط با هر درخواست، در صورت مشخص بودن، برای مقاصد اطلاعاتی به سرور راه دور ارسال می‌شود. این دستورالعمل با تنظیم \fIprotocol\-version\fP روی 2 ناسازگار است. اگر پیش از هرگونه مشخصات مقصد تنظیم شود، بر همه مقصدها اعمال می‌شود، مگر اینکه توسط دستورالعمل‌های خاص هر مقصد بازنویسی شود. .SH "مشخصات مقصد (TARGET SPECIFICATION)" مشخصات مقصد با یک دستورالعمل "uri" آغاز می‌شود: .TP .B uri ://[]/ [...] مشابه با .BR meta . برای جزئیات به .BR slapd\-meta (5) مراجعه کنید. .TP .B acl\-authcDN "" شناسه DN که برای ارسال پرس‌وجو به سرور مقصد جهت بررسی acl استفاده می‌شود، همانند بکاند LDAP؛ فرض بر این است که این شناسه در سرور مقصد دسترسی خواندن به ویژگی‌های مورد استفاده در پروکسی برای بررسی acl را دارد. هیچ خطری در افشای چنین مقادیری وجود ندارد؛ آن‌ها فقط برای بررسی مجوزها استفاده می‌شوند. .B هویت acl\-authcDN به هیچ وجه زمانی که کلاینت به صورت ناشناس متصل می‌شود، به صورت ضمنی توسط پروکسی استفاده نمی‌شود. .TP .B acl\-passwd گذرواژه مورد استفاده همراه با .B acl\-authcDN فوق. .TP .B bind\-timeout این دستورالعمل وقفه زمانی (بر حسب میکروثانیه) مورد استفاده هنگام سرکشی (polling) برای پاسخ پس از یک اتصال bind ناهمگام را تعیین می‌کند. برای جزئیات به .BR slapd\-meta (5) مراجعه کنید. .TP .B chase\-referrals {YES|no} فعال/غیرفعال کردن تعقیب خودکار ارجاعات، که به کتابخانه libldap زیربنایی واگذار شده است و در صورت استفاده از دستورالعمل \fBrebind\-as\-user\fP، اتصال مجدد در نهایت انجام می‌گیرد. حالت پیش‌فرض، تعقیب ارجاعات است. اگر پیش از هرگونه مشخصات مقصد تنظیم شود، بر همه مقصدها اعمال می‌شود، مگر اینکه توسط دستورالعمل‌های خاص هر مقصد بازنویسی شود. .TP .B client\-pr {accept-unsolicited|DISABLE|} این ویژگی امکان استفاده از کنترل RFC 2696 Paged Results را هنگام انجام عملیات جستجو با یک مقصد خاص، صرف‌نظر از درخواست کلاینت فراهم می‌کند. برای جزئیات به .BR slapd\-meta (5) مراجعه کنید. .TP .B default\-target [] دستورالعمل "default\-target" می‌تواند در حین تعیین مشخصات مقصد نیز استفاده شود. بدون آرگومان، مقصد فعلی را به عنوان پیش‌فرض علامت‌گذاری می‌کند. عدد اختیاری، مقصد را به عنوان مقصد پیش‌فرض مشخص می‌کند که شمارش آن از 1 شروع می‌شود. مقصد باید تعریف شده باشد. .TP .B filter این دستورالعمل امکان تعیین یک الگوی .BR regex (5) را فراهم می‌کند تا نشان دهد چه عبارت‌های فیلتر جستجویی واقعاً توسط یک مقصد سرویس‌دهی می‌شوند. در یک درخواست جستجو، اگر فیلتر جستجو با \fIpattern\fP مطابقت داشته باشد، مقصد هنگام برآورده کردن درخواست در نظر گرفته می‌شود؛ در غیر این صورت از مقصد صرف‌نظر می‌گردد. ممکن است چندین نمونه از دستورالعمل .B filter برای هر مقصد وجود داشته باشد. .TP .B idassert\-authzFrom در صورت تعریف، مشخص می‌کند کدام هویت‌های .I محلی مجاز به بهره‌برداری از ویژگی تأیید هویت (identity assertion) هستند. رشته .B از قوانین تعریف‌شده برای ویژگی .I authzFrom پیروی می‌کند. برای جزئیات در مورد نحو این فیلد، به .BR slapd.conf (5)، بخش مربوط به .BR authz\-policy مراجعه کنید. .HP .hy 0 .B idassert\-bind .B bindmethod=none|simple|sasl [binddn=] [credentials=] .B [saslmech=] [secprops=] [realm=] .B [authcId=] [authzId=] .B [authz={native|proxyauthz}] [mode=] [flags=] .B [starttls=no|yes|critical] .B [tls_cert=] .B [tls_key=] .B [tls_cacert=] .B [tls_cacertdir=] .B [tls_reqcert=never|allow|try|demand] .B [tls_reqsan=never|allow|try|demand] .B [tls_cipher_suite=] .B [tls_ecname=] .B [tls_protocol_min=[.]] .B [tls_crlcheck=none|peer|all] امکان تعریف پارامترهای روش احراز هویتی را فراهم می‌کند که به صورت داخلی توسط پروکسی برای صدور مجوز اتصال‌هایی که توسط پایگاه‌های داده دیگر احراز هویت شده‌اند، استفاده می‌شود. برای جزئیات به .BR slapd\-meta (5) مراجعه کنید. .TP .B idle\-timeout