OPENLDAP_TO_DS(8) راهنمای پایتون تولیدشده OPENLDAP_TO_DS(8)

openldap_to_ds - اسکریپت مهاجرت از OpenLDAP به 389 Directory Server

openldap_to_ds [-h] [-v] [--confirm] [--ignore-overlay [IGNORE_OVERLAY ...]] [--ignore-schema-oid [IGNORE_SCHEMA_OID ...]] [--ignore-attribute [IGNORE_ATTRIBUTE ...]] [-D BINDDN] [-w BINDPW] [-W] [-y PWDFILE] [-Z] instance slapd_config [slapd_ldif ...]

مهاجرت از OpenLDAP به 389 Directory Server.

این دستور فرایند تبدیل یک کارساز OpenLDAP به یک نمونه 389 Directory Server را خودکار می‌کند. این عملیات بر اساس «بیشترین تلاش» (best effort) انجام می‌شود زیرا OpenLDAP و 389 Directory Server کاملاً یکسان نیستند، بنابراین برخی ویژگی‌ها ممکن است همچنان نیازمند مهاجرت دستی باشند، یا اصلاً امکان مهاجرت آن‌ها وجود نداشته باشد. هدف این ابزار مهاجرت بخش عمده‌ای از محتوای اصلی نظیر داده‌های پایگاه‌داده، پیکربندی نمایه‌ها (indexes)، اسکِما (schema) و برخی اورلی‌ها (پلاگین‌ها) است.

محتوایی که می‌توانیم مهاجرت دهیم:

* اسکِما (Schema)
* محتوای پایگاه‌داده (از نسخه پشتیبان ldif)
* نمایه‌های پایگاه‌داده (Database indexes)
* اورلی MemberOf (پلاگین memberof)
* اورلی Referential Integrity (پلاگین refint)
* اورلی Attribute Unique (پلاگین unique)

برخی از محتواهایی که نمی‌توانند مهاجرت داده شوند شامل برخی اورلی‌ها (پلاگین‌ها)، کنترل‌های دسترسی و پیکربندی همگام‌سازی (replication) هستند. نمونه‌هایی از پلاگین‌هایی که قابل مهاجرت نیستند:

* ثبت وقایع دسترسی/حسابرسی (Access/Audit logging) (به‌طور پیش‌فرض در 389-ds توکار است)
* زنجیره‌سازی (Chaining) (نیازمند مهاجرت دستی، ممکن است معادل نباشد)
* محدودیت‌ها (Constraints) (پلاگین معادل ندارد)
* سرویس‌های دایرکتوری پویا (Dynamic Directory Services) (نیازمند مهاجرت دستی به پلاگین Class of Service)
* گروه‌ها/فهرست‌های پویا (Dynamic Groups/Lists) (نیازمند مهاجرت دستی به پلاگین Roles)
* حافظه موقت پروکسی (Proxy Cache) (پلاگین معادل ندارد، 389-ds از رونوشت‌های فقط‌خواندنی پشتیبانی می‌کند)
* سیاست گذرواژه (Password Policy) (توکار در 389-ds، نیازمند مهاجرت دستی)
* بازنویسی/نگاشت مجدد (Rewrite/Remap) (پلاگین معادل ندارد)
* ارائه‌دهنده همگام‌سازی (Sync Provider) (نیازمند مهاجرت دستی به پلاگین Replication یا Content Sync)
* مرتب‌سازی مقادیر (Value Sorting) (پلاگین معادل ندارد)

این دستور باید روی کارسازی که نمونه 389 Directory در آن اجرا می‌شود اجرا گردد چرا که نیازمند دسترسی به سیستم‌فایل است. باید این ابزار را به عنوان کاربر root یا dirsrv اجرا کنید.

موارد زیر از نمونه OpenLDAP شما مورد نیاز است:

* دایرکتوری پیکربندی slapd.d در قالب ldif/پویا
* (اختیاری) پرونده پشتیبان ldif از پایگاه‌داده با استفاده از slapcat

این موارد را می‌توان روی میزبان OpenLDAP ایجاد کرد و به میزبان 389 Directory Server منتقل نمود. هیچ عمل مخربی روی نمونه OpenLDAP اعمال نمی‌شود.

اگر هم‌اکنون از قالب ldif/پویا در مسیر /etc/openldap/slapd.d استفاده می‌کنید، باید یک رونوشت از آن تهیه کرده تا در فرایند مهاجرت به کار ببرید:

cp -a /etc/openldap/slapd.d /root/slapd.d

اگر از پرونده پیکربندی slapd.conf استفاده می‌کنید، می‌توانید بدون تأثیر بر نمونه در حال اجرای خود، آن را به پیکربندی پویا تبدیل کنید:

slaptest -f /etc/openldap/slapd.conf -F /root/slapd.d

برای اینکه به صورت اختیاری اجازه دهید محتوای پایگاه‌داده شما مهاجرت داده شود، می‌توانید یک نسخه پشتیبان ldif از محتوایی که 389 Directory Server می‌تواند وارد کند ایجاد نمایید. باید این دستور را برای هر بک‌اند (suffix) از نمونه خود اجرا کنید:

# If using slapd.conf config format
slapcat -f /etc/openldap/slapd.conf -b SUFFIX -l /root/suffix.ldif
# If using slapd.d config format
slapcat -F /etc/openldap/slapd.d -b SUFFIX -l /root/suffix.ldif

شما باید از قبل یک 389 Directory Server داشته باشید که می‌خواهید داده‌ها به آن وارد شوند. می‌توانید این نمونه را با ابزار dscreate بسازید. داده‌ها و پیکربندی‌های موجود در این نمونه تغییر خواهند یافت یا حذف خواهند شد (یعنی اعمال بالقوه مخرب).

اکیداً توصیه می‌شود این ابزار را ابتدا روی یک سیستم غیرعملیاتی (non-production) آزمایش کنید تا از درک درست فرایند و تغییرات مطمئن شوید.

این ابزار تنها باید روی نخستین نمونه (first-instance) در یک ساختار هم‌بندی (topology) در 389 Directory Server اجرا شود. تمام رونوشت‌های (replicas) دیگر باید پس از مهاجرت از روی این نمونه پیکربندی شوند.

نام نمونه 389-ds که داده‌های openldap به آن مهاجرت داده می‌شوند.
مسیر پیکربندی slapd.d در openldap که مهاجرت داده خواهد شد.
مسیر پرونده‌های ldif خروجی گرفته‌شده از پایگاه‌داده برای واردسازی.

نمایش جزئیات ردگیری عملیات در حین اجرای دستور.
تأیید اعمال این اقدامات مهاجرت بر روی نمونه 389-ds. به‌طور پیش‌فرض هیچ اقدامی انجام نمی‌شود.
صرف‌نظر از مهاجرت پیکربندی اورلی‌های مشخص‌شده openldap به پلاگین‌های معادل 389-ds. گزینه‌های معتبر عبارتند از memberof، refint و unique.
صرف‌نظر از مهاجرت OIDهای مشخصه یا کلاس اسکما در openldap به 389-ds. این کار ممکن است اسکمای ناسازگاری ایجاد کند که موجب شکست مهاجرت شود. با احتیاط استفاده کنید.
نادیده گرفتن مشخصه‌های مشخص‌شده از ورودی‌هایی که از ldif بارگذاری می‌شوند. برای مثال، ممکن است نخواهید مقادیر درهم‌ساز userPassword وارد شوند.
حساب کاربری 389 Directory Server برای اتصال (bind) جهت اجرای عملیات مهاجرت.
گذرواژه برای binddn.
درخواست تعاملی گذرواژه برای bind DN.
مشخص کردن پرونده‌ای حاوی گذرواژه برای binddn.
اتصال به 389 Directory Server با استفاده از پروتکل امنیتی StartTLS.

"Red Hat, Inc., and William Brown" <389-devel@lists.fedoraproject.org>

slapd(8), slapcat(8), slaptest(8), dscreate(8)

2026-09-07 lib389 3.3.1