راهنمای کامل سفارشی‌سازی کاربران در DirectAdmin: محدودیت بکاپ، کنترل ایمیل، جلوگیری از ساخت نام‌های خاص، سفارشی‌سازی تنظیمات ایمیل و مدیریت محدودیت روزانه ارسال ایمیل

این مقاله یک راهنمای جامع برای کنترل و سفارشی‌سازی رفتار کاربران در DirectAdmin است. شامل محدود کردن تعداد بکاپ‌ها، محدودیت حجم ایمیل، جلوگیری از ساخت ایمیل‌های حساس، سفارشی‌سازی تنظیمات IMAP/POP/SMTP، مدیریت محدودیت روزانه ارسال ایمیل بر اساس پکیج، و ساخت سیستم Email-Only برای کاربران.

Level Customization in DirectAdminBackup LimitsTemplate Editing

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. محدود کردن تعداد بکاپ‌های هر کاربر


برای جلوگیری از ایجاد تعداد زیاد بکاپ توسط کاربران، می‌توانید تعداد بکاپ‌ها را محدود کنید. مثال: حداکثر ۵ بکاپ.


فایل زیر را ایجاد کنید:

/usr/local/directadmin/scripts/custom/user_backup_pre.sh

محتوا:

#!/bin/sh
MAX_BACKUPS=5
U=`echo $file | cut -d/ -f3`
if [ "$U" != "$username" ]; then
   exit 0;
fi
C=`ls /home/$username/backups | wc -l`
if [ "$C" -ge "$MAX_BACKUPS" ]; then
   echo "Too many backups. Delete some from /home/$username/backups before creating another.";
   exit 1;
fi
exit 0;

قابل اجرا:

chmod 755 /usr/local/directadmin/scripts/custom/user_backup_pre.sh

تست دستی:

file=/home/fred/backups/backup.tar.gz username=fred ./user_backup_pre.sh; echo $?;
---

2. محدود کردن حجم ایمیل‌ها (Quota)


برای جلوگیری از تعیین quota بیشتر از ۵۰MB:

فایل:

/usr/local/directadmin/scripts/custom/email_create_pre.sh

محتوا:

#!/bin/sh
if [ "$quota" != "" ]; then
   if [ "$quota" -gt "50" ]; then
       echo "Cannot set quota greater than 50MB";
       exit 1;
   fi
fi
exit 0;

قابل اجرا و لینک به تغییر رمز ایمیل:


cd /usr/local/directadmin/scripts/custom/
chmod 755 email_create_pre.sh
ln -s email_create_pre.sh email_change_pass_pre.sh
---

3. جلوگیری از ساخت ایمیل‌هایی با نام‌های حساس


برای جلوگیری از ساخت ایمیل‌هایی مثل root، webmaster، postmaster:

فایل:

/usr/local/directadmin/scripts/custom/all_pre.sh

محتوا:

#!/bin/sh

blockaccount()
{
   if [ "$user" = "$1" ] || [ "$newuser" = "$1" ]; then
      echo "You cannot create an account named $1";
      exit 1;
   fi
}

if [ "$command" = "/CMD_EMAIL_POP" ]; then
   if [ "$action" = "create" ] || [ "$action" = "modify" ]; then
      blockaccount root;
      blockaccount webmaster;
      blockaccount postmaster;
   fi
fi
exit 0;

قابل اجرا:

chmod 755 /usr/local/directadmin/scripts/custom/all_pre.sh
---

4. سفارشی‌سازی تنظیمات IMAP/POP/SMTP هنگام ساخت ایمیل


برای تغییر اطلاعاتی که پس از ساخت ایمیل نمایش داده می‌شود:


cd /usr/local/directadmin/data/templates/custom
cp ../mail_settings.html .
vi mail_settings.html

مثال کاربردی:

  • جایگزینی mail.|DOMAIN| با server.yourhostname.com

توکن‌های زبان

به‌جای ویرایش مستقیم متن انگلیسی، می‌توانید از توکن‌های |LANG_*| استفاده کنید.

این توکن‌ها در فایل زیر قرار دارند:

/usr/local/directadmin/data/skins/enhanced/lang/en/internal/email.txt
---

5. سفارشی‌سازی محدودیت روزانه ارسال ایمیل بر اساس پکیج


روش جدید (New Method)

پکیج‌ها اکنون دارای گزینه email_daily_limit هستند:

email_daily_limit=-1

مقادیر:

  • -1 → استفاده از مقدار پیش‌فرض سیستم
  • unlimited → بدون محدودیت (توصیه نمی‌شود)

مقدار نهایی در فایل زیر ذخیره می‌شود:

/etc/virtual/limit_USERNAME

روش قدیمی (Old Method)

ابتدا یک custom package item با نام user_email_limit بسازید.

سپس فایل زیر را ایجاد کنید:

/usr/local/directadmin/scripts/custom/user_create_post.sh

محتوا:

#!/bin/sh
if [ "$user_email_limit" != "" ] && [[ $user_email_limit =~ ^-?[0-9]+$ ]] && [ "$user_email_limit" -gt 0 ]; then
    echo -n "$user_email_limit" > /etc/virtual/limit_$username
fi
exit 0;

قابل اجرا:

chmod 755 /usr/local/directadmin/scripts/custom/user_create_post.sh
---

6. ساخت سیستم Email-Only برای کاربران


روش 1: استفاده از DirectAdmin (ساده‌ترین روش)

  1. کپی یک اسکین و ساخت نسخه email-only

cd /usr/local/directadmin/data/skins
cp -Rp enhanced emailonly

لینک‌های غیرایمیلی مثل FileManager را حذف کنید.

  1. ساخت پکیج با محدودیت‌های لازم (ftp=0، db=0، و…)
  2. استفاده از all_pre.sh یا commands.allow برای محدود کردن دسترسی‌ها

روش 2: ساخت پنل اختصاصی با API

در این روش، شما یک سیستم لاگین و پنل اختصاصی با PHP می‌سازید و از API DirectAdmin برای مدیریت ایمیل‌ها استفاده می‌کنید.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه