| MAKEMAP(8) | System Manager's Manual | MAKEMAP(8) |
نام (NAME)
makemap —
ایجاد
نگاشتهای
پایگاهداده
برای smtpd
خلاصه دستور (SYNOPSIS)
makemap [-U]
[-d dbtype]
[-o dbfile]
[-t type]
file
توضیحات (DESCRIPTION)
نگاشتها
رابطی
عمومی برای
مرتبطسازی
یک کلید
متنی با یک
مقدار
فراهم
میکنند.
چنین
ارتباطاتی
ممکن است از
طریق یک
پرونده
متنی ساده
(plaintext)،
پایگاهداده،
یا DNS در
دسترس قرار
گیرند. قالب
این نوع
پروندهها
در ادامه
شرح داده
شده است. خود
makemap
نگاشتهای
پایگاهدادهای
را ایجاد
میکند که
توسط
جستجوهای
مبتنی بر
کلیدِ
مشخصشده
در smtpd.conf(5)
به کار
میروند.
دستور
makemap ورودی
را از file
میخواند و
دادهها را
در فایلی
مینویسد
که نام آن با
افزودن
پسوند “.db”
به file
تشکیل
میشود. خط
جاری را
میتوان با
استفاده از
نویسه خط
مورب
وارونه
(بکاسلش)
(‘\’) در
چندین خط
امتداد داد.
توضیحات
(کامنتها)
را میتوان
با استفاده
از علامت هش
(‘#’) در هر
کجای
پرونده
قرار داد، و
تا انتهای
خط جاری
امتداد
مییابند.
هنگام
کامنتگذاری
متنهای
چندخطی
باید دقت
شود: کامنت
تا انتهای
کل بلوک
اعمال
میشود. در
همه موارد،
makemap خطوطی
متشکل از
کلمات
جداشده با
فاصله سفید
(whitespace) را
میخواند.
نخستین
کلمه هر خط،
کلید
پایگاهداده
است؛ باقی
خط
نمایانگر
مقدار
نگاشتشده
است. کلید و
مقدار
پایگاهداده
میتوانند
به صورت
اختیاری با
نویسه
دونقطه (:) از
هم جدا
شوند.
گزینهها به شرح زیر هستند:
-ddbtype- قالب پایگاهداده را مشخص میکند. قالبهای موجود عبارتند از hash و btree. مقدار پیشفرض hash است.
-odbfile- پایگاهداده ایجادشده را در dbfile مینویسد.
-ttype- قالب
پرونده
نگاشت حاصل
را مشخص
میکند.
قالب
پیشفرض
نگاشت برای
ذخیره
ارتباطات
ساده و بدون
ساختار
کلید-به-مقدار
متنی مناسب
است. با این
حال،
چنانچه
مقدار
نگاشتشده
معنای خاصی
داشته
باشد،
مانند
پرونده
دامنههای
مجازی،
باید یک
type مناسب
ارائه شود.
انواع
خروجی
موجود
عبارتند از:
aliases- مقدار نگاشتشده فهرستی از مقصدهای ایمیل است که با کاما از هم جدا شدهاند. این قالب میتواند برای ساخت نامهای مستعار کاربر و نگاشتهای کاربر برای پروندههای دامنه مجازی استفاده شود.
set- هیچ مقدار نگاشتشدهای وجود ندارد – نگاشتی از این نوع تنها امکان جستجوی کلیدها را فراهم میکند. این قالب میتواند برای ساخت نگاشتهای دامنه اصلی به کار رود.
-U- به جای تولید نگاشت پایگاهداده از ورودی متنی، محتویات یک نگاشت پایگاهداده را به صورت متن با جداسازی کلید و مقدار توسط نویسه تب (tab) تخلیه (dump) میکند.
دامنههای اصلی (PRIMARY DOMAINS)
دامنههای اصلی را میتوان در جدولها نگهداری کرد. برای ایجاد یک جدول دامنه اصلی، هر دامنه اصلی را در یک خط جداگانه قرار دهید.
علاوه بر افزودن یک مدخل به نگاشت دامنه اصلی، باید یک قاعده پالایش (فیلتر) نیز اضافه کرد که نامهها را برای این نگاشت دامنه بپذیرد، برای نمونه:
table domains db:/etc/smtpd/domains.db action "local" mbox match for domain <domains> action "local"
دامنههای مجازی (VIRTUAL DOMAINS)
دامنههای مجازی نیز میتوانند در جدولها نگهداری شوند. برای ایجاد یک جدول دامنه مجازی، هر دامنه مجازی را در یک خط جداگانه قرار دهید.
دامنههای مجازی انتظار نگاشتی از کاربران مجازی به کاربران واقعی را دارند تا مشخص شود آیا یک گیرنده پذیرفته میشود یا خیر. قالب این نگاشت، افزونهای بر aliases(5) است که اجازه میدهد از “user@domain.tld” برای پذیرش کاربر فقط در دامنه مشخصشده، “user” برای پذیرش کاربر در هر یک از دامنههای مجازی، “@domain.tld” برای ارائه یک گیرنده همگانی (catch-all) برای دامنه مشخصشده و “@” برای ارائه یک گیرنده همگانی سراسری برای همه دامنهها استفاده شود. smtpd(8) جستجوها را دقیقاً به همین ترتیب انجام خواهد داد.
برای ایجاد یک آدرس مجازی منفرد، عبارت “user@example.com user” را به نگاشت users اضافه کنید. برای مدیریت تمام نامههای ارسالی به هر کاربری در example.com، عبارت “@example.com user” را به نگاشت virtual اضافه کنید.
علاوه بر افزودن یک مدخل به نگاشت مجازی، باید یک قاعده پالایش اضافه شود که نامهها را برای دامنههای مجازی بپذیرد، برای نمونه:
table vdomains db:/etc/smtpd/vdomains.db table vusers db:/etc/smtpd/users.db action "local" mbox virtual <vusers> match for domain <vdomains> action "local" match for domain "example.org" action "local"
فایلها (FILES)
- /etc/smtpd/aliases
- فهرست نامهای مستعار ایمیل کاربر.
- /etc/smtpd/secrets
- فهرست اطلاعات اعتبارسنجی میزبان راه دور.
وضعیت خروج (EXIT STATUS)
The makemap utility exits 0 on
success, and >0 if an error occurs.
همچنین ببینید (SEE ALSO)
aliases(5), smtpd.conf(5), table(5), newaliases(8), smtpd(8)
تاریخچه (HISTORY)
دستور
makemap
نخستین بار
در OpenBSD 4.6 به
عنوان
جایگزینی
برای دستور
معادل
عرضهشده
به همراه sendmail
ظاهر شد.
| February 13, 2021 | Linux 6.12.107+deb13-amd64 |