POSTFIX-NON-BDB(1) General Commands Manual POSTFIX-NON-BDB(1)

postfix-non-bdb - مدیریت مهاجرت Postfix از Berkeley DB به پایگاه‌های داده دیگر

postfix non-bdb subcommand


قابلیت "postfix non-bdb subcommand" فایل‌های main.cf و master.cf را ویرایش می‌کند تا مهاجرت پیکربندی موجود Postfix را مدیریت کند؛ پیکربندی‌هایی که از جداول Berkeley DB با انواع "hash:" یا "btree:" استفاده می‌کنند (که دیگر در برخی توزیع‌های سیستم‌عامل پشتیبانی نمی‌شوند)، به انواع پشتیبانی‌شده مانند "cdb:" یا "lmdb:".

زیر‌دستورهای زیر در دسترس هستند:

گزارش وضعیت مهاجرت به پایگاه‌های داده غیر Berkeley-DB بدون اعمال هیچ‌گونه تغییری.
ویرایش فایل‌های main.cf و master.cf برای غیرفعال کردن قابلیت‌های enable-redirect و enable-reindex.

این کار یکپارچگی با نرم‌افزارهای دیگر مانند نسخه‌های mailman پیش از مه ۲۰۲۵ را مختل می‌کند، هنگامی که برای نمونه بخواهند برای به‌روزرسانی جدولی که توسط mailman نگهداری می‌شود از "postmap hash:/path/to/file" استفاده کنند.

ویرایش فایل‌های main.cf و master.cf برای فعال‌سازی تغییر مسیر (نام‌های مستعار) از انواع Berkeley DB شامل "hash" و "btree" به انواع غیر Berkeley-DB مشخص‌شده در $default_database_type و $default_cache_db_type. تغییر مسیر سفارشی را می‌توان با استفاده از non_bdb_custom_mapping پیکربندی کرد.

این پیکربندی به‌طور خودکار فایل‌های پایگاه‌داده نمایه‌شده غیر Berkeley-DB را ایجاد نمی‌کند. در عوض، برنامه‌های Postfix هنگام عدم موفقیت در باز کردن فایل پایگاه‌داده نمایه‌شده، یک خطا ثبت می‌کنند و ایجاد آن فایل را به عهده مدیر سیستم می‌گذارند تا دستور postmap(1) یا postalias(1) را اجرا کند.

این کار یکپارچگی با نرم‌افزارهای دیگر مانند نسخه‌های mailman پیش از مه ۲۰۲۵ را اصلاح می‌کند، هنگامی که برای نمونه بخواهند برای به‌روزرسانی جدولی که توسط mailman نگهداری می‌شود از "postmap hash:/path/to/file" استفاده کنند.

اگر default_database_type یا default_cache_db_type نوع "hash:" یا "btree:" را مشخص کرده باشند، این زیر‌دستور هیچ تغییری ایجاد نخواهد کرد.

ویرایش فایل‌های main.cf و master.cf برای پیاده‌سازی enable-redirect، و ایجاد خودکار فایل پایگاه‌داده نمایه‌شده غیر Berkeley-DB هنگامی که یک برنامه دیمن قصد دسترسی به فایلی را دارد که هنوز وجود ندارد. این قابلیت از دیمن nbdb_reindexd(8) برای اجرای postmap(1) یا postalias(1) مطابق آنچه در بخش "امنیت (SECURITY)" در ادامه آمده است استفاده می‌کند.

این زیر‌دستور فوراً فایل‌های نمایه‌شده غیر Berkeley-DB را برای برنامه‌های خط فرمان بدون امتیاز که نمی‌توانند به سرور دیمن nbdb_reindexd(8) درخواست ارسال کنند ایجاد می‌نماید. این شامل جداول "hash:" و "btree:" می‌شود که توسط postqueue(1) و sendmail(1) به‌گونه‌ای که در authorized_flush_users و authorized_mailq_users تعیین شده است، و توسط sendmail(1) و postdrop(1) به‌گونه‌ای که در authorized_submit_users و local_login_sender_maps تعیین شده است، استفاده می‌شوند.

اگر default_database_type یا default_cache_db_type نوع "hash:" یا "btree:" را مشخص کرده باشند، این زیر‌دستور هیچ تغییری ایجاد نخواهد کرد.

نکته: enable-reindex فقط باید به‌صورت موقت برای ایجاد بیشتر فایل‌های نمایه‌شده غیر Berkeley-DB مورد نیاز Postfix استفاده شود. فعال گذاشتن این قابلیت ممکن است سیستم را در معرض حملات ارتقای دسترسی قرار دهد. استفاده از enable-redirect هیچ‌گونه نگرانی امنیتی ندارد.

دیمن nbdb_reindexd(8) فقط در صورتی به‌طور خودکار یک فایل نمایه‌شده غیر Berkeley-DB را تولید می‌کند که مسیر پایگاه‌داده با پیشوندهای دایرکتوری مشخص‌شده در non_bdb_migration_allow_root_prefixes (برای فایل‌هایی که باید متعلق به root باشند)، یا non_bdb_migration_allow_user_prefixes (برای فایل‌هایی که باید متعلق به یک کاربر غیر root باشند) مطابقت داشته باشد. محدودیت‌های بیشتر در مورد مالکیت و دسترسی‌های فایل و دایرکتوری در nbdb_reindexd(8) مستند شده‌اند.

قابلیت "postfix non-bdb subcommand" پارامتر پیکربندی زیر را به‌روزرسانی می‌کند:

سطح سرویس مهاجرت غیر Berkeley-DB.

سایر پارامترهای مرتبط:

هنگامی که مهاجرت غیر Berkeley-DB فعال است، یک نگاشت اختیاری از نوع "hash:" یا "btree:" به نوع غیر Berkeley-DB.
فهرستی از پیشوندهای مسیر مطمئن که هنگام نیاز سرویس مهاجرت غیر Berkeley-DB (nbdb_reindexd(8)) به اجرای دستورهای postmap(1) یا postalias(1) با دسترسی ریشه (root) باید تطابق داشته باشند.
فهرستی از پیشوندهای مسیر مطمئن که هنگام نیاز سرویس مهاجرت غیر Berkeley-DB (nbdb_reindexd(8)) به اجرای دستورهای postmap(1) یا postalias(1) با دسترسی غیر ریشه باید تطابق داشته باشند.

nbdb_reindexd(8) سرویس بازنمایه‌سازی

برای یافتن این اطلاعات از "postconf readme_directory" یا "postconf html_directory" استفاده کنید.

NON_BERKELEYDB_README, راهنمای مهاجرت

مجوز نرم‌افزار امنیتی پست‌فیکس (Secure Mailer) باید همراه با این نرم‌افزار توزیع شود.


دستور "postfix non-bdb" در نسخه 3.11 از Postfix معرفی شد.

Wietse Venema
porcupine.org