SLAPSCHEMA(8C) SLAPSCHEMA(8C)

slapschema - ابزار بررسی انطباق با طرحواره درون پایگاه‌داده SLAPD

/usr/bin/slapschema [-afilter] [-bsuffix] [-c] [-ddebug-level] [-fslapd.conf] [-Fconfdir] [-g] [-HURI] [-lerror-file] [-ndbnum] [-ooption[=value]] [-ssubtree-dn] [-v]

Slapschema برای بررسی انطباق محتویات یک پایگاه‌دادهٔ slapd(8) با طرحواره (schema) استفاده می‌شود. این ابزار پایگاه‌دادهٔ مشخص‌شده بر اساس شماره پایگاه‌داده یا پسوند (suffix) را باز کرده و انطباق محتویات آن را با طرحوارهٔ مربوطه بررسی می‌کند. خطاها در خروجی استاندارد یا فایل مشخص‌شده نوشته می‌شوند. پایگاه‌های داده‌ای که به عنوان subordinate (زیرمجموعه) این پایگاه‌داده پیکربندی شده‌اند نیز پردازش می‌شوند، مگر آنکه -g مشخص شده باشد.

مدیران سیستم ممکن است نیاز به اصلاح موارد موجود در طرحواره داشته باشند، از جمله افزودن صفت‌های الزامی جدید به objectClassها، حذف صفت‌های الزامی یا مجاز موجود از objectClassها، حذف کامل objectClassها، یا هر تغییر دیگری که ممکن است سبب شود ورودی‌های کاملاً معتبر پیشین، دیگر با طرحوارهٔ اصلاح‌شده سازگار نباشند. اجرای ابزار slapschema پس از تغییر دادن طرحواره می‌تواند ناهماهنگی‌هایی را نشان دهد که در غیر این صورت تنها زمانی آشکار می‌شدند که نیاز به اصلاح آن ورودی‌های ناسازگار باشد.

رکوردهای ورودی به ترتیب قرارگیری در پایگاه‌داده بررسی می‌شوند، نه به ترتیب رتبه‌بندی والد به فرزند (superior first). رکوردهای ورودی با در نظر گرفتن تمامی صفت‌های (کاربری و عملیاتی) ذخیره‌شده در پایگاه‌داده بررسی خواهند شد. صفت‌هایی که به شکل پویا تولید می‌شوند (مانند subschemaSubentry) در نظر گرفته نخواهند شد.

تنها ورودی‌های منطبق با فیلتر ارائه‌شده را بررسی می‌کند. برای مثال:

slapschema -a \
"(!(entryDN:dnSubtreeMatch:=ou=People,dc=example,dc=com))"

تمامی بخش‌ها به جز زیردرخت "ou=People,dc=example,dc=com" از پایگاه‌دادهٔ "dc=example,dc=com" را بررسی خواهد کرد. منسوخ شده است؛ به جای آن از -H ldap:///???(filter) استفاده کنید.

از suffix مشخص‌شده برای تعیین پایگاه‌داده‌ای که باید بررسی شود استفاده می‌کند. به‌طور پیش‌فرض، نخستین پایگاه‌داده‌ای که از عملیات درخواستی پشتیبانی می‌کند به کار گرفته می‌شود. گزینهٔ -b نمی‌تواند همراه با گزینهٔ -n استفاده شود.
فعال‌سازی حالت ادامه دادن (نادیده گرفتن خطاها).
فعال‌سازی پیام‌های اشکال‌زدایی طبق debug-level مشخص‌شده؛ برای جزئیات به slapd(8) مراجعه کنید.
مشخص کردن یک فایل جایگزین برای slapd.conf(5).
مشخص کردن یک دایرکتوری پیکربندی. اگر هر دو گزینهٔ -f و -F مشخص شده باشند، فایل پیکربندی خوانده شده و به قالب دایرکتوری پیکربندی تبدیل می‌شود و در دایرکتوری مشخص‌شده نوشته می‌شود. اگر هیچ‌کدام از این گزینه‌ها مشخص نشوند، پیش از تلاش برای استفاده از فایل پیکربندی پیش‌فرض، تلاش می‌شود دایرکتوری پیکربندی پیش‌فرض خوانده شود. اگر یک دایرکتوری پیکربندی معتبر وجود داشته باشد، فایل پیکربندی پیش‌فرض نادیده گرفته می‌شود.
غیرفعال کردن پیوند زیرمجموعه‌ها (subordinate gluing). تنها پایگاه‌دادهٔ مشخص‌شده پردازش خواهد شد، نه زیرمجموعه‌های پیوندیافتهٔ آن (در صورت وجود).
استفاده از dn، دامنه (scope) و فیلتر برگرفته از URI برای پردازش اختصاصی ورودی‌های منطبق.
نوشتن خطاها در فایل مشخص‌شده به جای خروجی استاندارد.
بررسی dbnum-امین پایگاه‌دادهٔ فهرست‌شده در فایل پیکربندی. پایگاه‌دادهٔ پیکربندی slapd-config(5)، همواره نخستین پایگاه‌داده است، بنابراین از -n 0 استفاده کنید.

گزینهٔ -n نمی‌تواند همراه با گزینهٔ -b استفاده شود.

مشخص کردن یک option همراه با یک value (اختیاری). گزینه‌ها/مقادیر عمومی ممکن عبارتند از:
syslog=<subsystems>  (see `-s' in slapd(8))
syslog-level=<level> (see `-S' in slapd(8))
syslog-user=<user>   (see `-l' in slapd(8))
تنها ورودی‌های موجود در زیردرخت مشخص‌شده توسط این DN را بررسی می‌کند. در صورتی که هیچ‌یک از گزینه‌های -b یا -n داده نشده باشند، به معنی -b subtree-dn خواهد بود. منسوخ شده است؛ به جای آن از -H ldap:///subtree-dn استفاده کنید.
فعال‌سازی حالت پرحرف (verbose).

برای برخی از انواع بک‌اند، دیمن slapd(8) شما هنگام انجام این کار نباید در حال اجرا باشد (دست‌کم، نه در حالت خواندن-نوشتن) تا از یکپارچگی پایگاه‌داده اطمینان حاصل شود. اجرای slapschema با بک‌اندهای slapd-mdb(5) و slapd-null(5) همواره ایمن است.

برای بررسی انطباق پایگاه‌دادهٔ SLAPD با طرحواره پس از اِعمال تغییرات در طرحواره، و ذخیرهٔ هرگونه خطا در فایلی به نام errors.ldif، دستور زیر را وارد کنید:

/usr/bin/slapschema -l errors.ldif

ldap(3), ldif(5), slapd(8)

"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin)

OpenLDAP Software توسط پروژه OpenLDAP در http://www.openldap.org توسعه یافته و نگهداری می‌شود. OpenLDAP Software از انتشار LDAP 3.3 دانشگاه میشیگان برگرفته شده است.

2026/03/09 OpenLDAP 2.6.13