دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
دانشنامه مارال هاست دانشنامه مارال هاست
دانشنامه مارال هاست دانشنامه مارال هاست
  • صفحه اصلی
  • مقالات
    • هاست اشتراکی
    • دامنه
    • سرور مجازی
    • کنترل پنل سی‌پنل
    • کنترل پنل پلسک
    • کنترل پنل دایرکت ادمین
    • ایمیل
    • CloudLinux
    • Cloudflare
  • تماس با ما
کنترل پنل دایرکت ادمین (Direct Admin)
  • Folder icon closed Folder open iconBuild کردن سرویس‌ها در دایرکت ادمین (DirectAdmin)
  • Folder icon closed Folder open iconرفع خطای عدم اتصال MySql از طریق سوکت در دایرکت ادمین
  • Folder icon closed Folder open iconجلوگیری از حذف خودکار فایل‌ها در مسیر خاصی در دایرکت ادمین
  • Folder icon closed Folder open iconبهم ریختگی فایل های فارسی در دایرکت ادمین
  • Folder icon closed Folder open iconبررسی و پاک کردن لیست Messages در دایرکت ادمین
  • Folder icon closed Folder open iconمشاهده و تغییر پورت دایرکت ادمین
  • Folder icon closed Folder open iconآموزش کامل انتقال دامنه از یوزر Admin به یک ریسلر در DirectAdmin
  • Folder icon closed Folder open iconریستور دیتابیس در دایرکت ادمین
  • Folder icon closed Folder open iconبکاپ گیری دیتابیس در دایرکت ادمین
  • Folder icon closed Folder open iconبکاپ‌گیری اتوماتیک با استفاده از FTP و Cron Job در دایرکت ادمین
  • Folder icon closed Folder open iconتغییر نام دامنه‌ی اصلی در دایرکت ادمین
  • Folder icon closed Folder open iconتغییر و فیکس کردن پرمیژن ها در دایرکت ادمین
  • Folder icon closed Folder open iconبررسی فضای مصرفی دیسک در دایرکت ادمین
  • Folder icon closed Folder open iconبکاپ‌ها در DirectAdmin
  • Folder icon closed Folder open iconمدیریت کاربران بزرگ و زمان‌بندی بکاپ‌ها
  • Folder icon closed Folder open iconبکاپ روی موقعیت‌های ریموت (Backup to remote locations)
  • Folder icon closed Folder open iconانتقال اکانت‌ها (Migrating accounts)
  • Folder icon closed Folder open iconمهاجرت کامل در DirectAdmin
  • Folder icon closed Folder open iconمهاجرت از cPanel به DirectAdmin
  • Folder icon closed Folder open iconبکاپ CLI با Borg
  • Folder icon closed Folder open iconریستور و بازیابی (Restore and Recovery)
  • Folder icon closed Folder open iconراهنمای جامع سیستم‌های پشتیبان‌گیری (Backup) در DirectAdmin
  • Folder icon closed Folder open iconراهنمای جامع مدیریت بکاپ‌های حجیم و زمان‌بندی در DirectAdmin
  • Folder icon closed Folder open iconراهنمای جامع مدیریت بکاپ‌های ریموت در DirectAdmin
  • Folder icon closed Folder open iconراهنمای جامع انتقال حساب‌ها و مدیریت همگام‌سازی در DirectAdmin
  • Folder icon closed Folder open iconآموزش کامل مهاجرت سرور DirectAdmin
  • Folder icon closed Folder open iconراهنمای جامع مهاجرت از cPanel به DirectAdmin
  • Folder icon closed Folder open iconراهنمای کامل پشتیبان‌گیری CLI با استفاده از Borg
  • Folder icon closed Folder open iconآموزش جامع بازیابی و ریستور بکاپ در DirectAdmin
  • Folder icon closed Folder open iconآموزش جامع شخصی‌سازی ادمین در DirectAdmin
  • Folder icon closed Folder open iconآموزش کامل سفارشی‌سازی تنظیمات ادمین در DirectAdmin
  • Folder icon closed Folder open iconآموزش جامع سفارشی‌سازی کاربران در DirectAdmin
  • Folder icon closed Folder open iconراهنمای جامع سفارشی‌سازی و مدیریت FileManager در DirectAdmin
  • Folder icon closed Folder open iconفعال‌سازی و سفارشی‌سازی آمار وب‌سایت (Website Statistics) در DirectAdmin
  • Folder icon closed Folder open iconآموزش کامل پیکربندی DirectAdmin
  • Folder icon closed Folder open iconایمن‌سازی DirectAdmin
  • Folder icon closed Folder open iconایمن‌سازی با Brute Force Monitor در DirectAdmin
کنترل پنل دایرکت ادمین (Direct Admin)

آموزش جامع سفارشی‌سازی کاربران در DirectAdmin

آموزش جامع سفارشی‌سازی کاربران در DirectAdmin

مقدمه

DirectAdmin یکی از کنترل‌پنل‌های محبوب برای مدیریت هاست و سرور است. این پنل علاوه بر امکانات پیش‌فرض، امکان سفارشی‌سازی بسیار انعطاف‌پذیری را از طریق اسکریپت‌ها و فایل‌های پیکربندی در اختیار مدیران سیستم قرار می‌دهد. به کمک این قابلیت‌ها می‌توانید رفتار کاربران، محدودیت‌ها، دسترسی‌ها و حتی ظاهر پیش‌فرض سایت‌ها را تغییر دهید.

در این مقاله آموزشی، به صورت گام‌به‌گام روش‌های مختلف سفارشی‌سازی کاربران در DirectAdmin را بررسی می‌کنیم؛ از محدود کردن ایجاد ایمیل خاص گرفته تا تغییر مسیر home کاربران و کنترل فایل‌های index پیش‌فرض.

استفاده از اسکریپت (all_pre.sh)

معرفی

اسکریپت all_pre.sh یکی از ابزارهای قدرتمند DirectAdmin برای کنترل دسترسی‌ها است. این اسکریپت قبل از اجرای تمام دستورات /CMD_* اجرا می‌شود.

  • اگر مقدار بازگشتی اسکریپت 0 باشد → دستور اجرا می‌شود.
  • اگر مقدار بازگشتی هر عدد غیر از صفر باشد → دستور متوقف شده و پیغام خطای بازگشتی به کاربر نمایش داده می‌شود.

مثال عملی

فرض کنید می‌خواهید جلوی ایجاد حساب ایمیل با سهمیه بیشتر از 50 مگابایت یا سهمیه نامحدود را بگیرید. DA چنین محدودیتی به‌طور پیش‌فرض ندارد، اما با اسکریپت زیر می‌توان این کار را انجام داد:

#!/bin/sh

if [ "$command" = "/CMD_EMAIL_POP" ] && [ "$domain" = "thedomainyouwant.com" ]; then
    if [ "$action" = "create" ] || [ "$action" = "modify" ]; then
        if [ "$quota" -eq 0 ]; then
            echo "You cannot have unlimited quota";
            exit 1;
        fi
        if [ "$quota" -gt 50 ]; then
            echo "You cannot have more than a 50 MB quota";
            exit 2;
        fi
    fi
fi
exit 0;

فعال‌سازی

برای فعال کردن اسکریپت، کافی است دسترسی اجرایی بدهید:

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

اکنون اگر کاربری بخواهد سهمیه‌ای بالاتر از 50MB یا نامحدود انتخاب کند، پیام خطا دریافت می‌کند.

نکته تکمیلی

این روش تقریباً برای هر بخش DirectAdmin کاربرد دارد (به جز فایل‌های HTM_*). به عنوان مثال:

  • می‌توانید دسترسی File Manager را به‌طور کامل برای یک یا چند کاربر غیرفعال کنید.
  • می‌توانید فقط گروهی از کاربران (و نه ادمین‌ها) را محدود کنید.

جلوگیری از ایجاد زیردامنه روی دامنه اصلی

گاهی نیاز است که نگذارید کاربران روی دامنه اصلی شما (مثلاً mydomain.com) زیردامنه بسازند. برای این کار از اسکریپت domain_create_pre.sh استفاده می‌کنیم.

کد نمونه

#!/usr/local/bin/php
<?
$reserved = "mydomain.com";
$domain = getenv("domain");

$res = strstr($domain, ".".$reserved);

if ($res === FALSE) { exit(0); }
else {
    echo "You may not create a subdomain on $reserved";
    exit(1);
}
?>

مراحل اجرا

  1. فایل را در مسیر زیر قرار دهید: /usr/local/directadmin/scripts/custom/domain_create_pre.sh
  2. آن را اجرایی کنید: chmod 755 /usr/local/directadmin/scripts/custom/domain_create_pre.sh

نکته مهم

این اسکریپت با سطح دسترسی root اجرا می‌شود. بنابراین می‌توانید کنترل‌های پیشرفته‌تری هم اضافه کنید؛ مثلاً بررسی کنید آیا زیردامنه متعلق به دامنه‌ای هست که کاربر مالک آن است یا خیر (با بررسی فایل‌های /etc/virtual/domainowners یا domains.list).

محدود کردن تعداد دامنه‌ها در سرور

اگر می‌خواهید تعداد کل دامنه‌های ایجاد شده در سرور محدود شود (مثلاً حداکثر 10 دامنه)، می‌توانید از همان اسکریپت domain_create_pre.sh استفاده کنید.

کد نمونه

#!/bin/sh
MAX_DOMAINS=10

# شمارش دقیق دامنه‌های موجود
CURRENT=`ls -la /etc/virtual/ | grep drwx | grep -v majordomo | grep -v usage | grep -c drwx`

if [ "$CURRENT" -ge "$MAX_DOMAINS" ]; then
    echo "Maximum number of domains ($MAX_DOMAINS) has already been created. Cannot create any more."
    exit 1;
fi
exit 0;

فعال‌سازی

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

همگام‌سازی با ایجاد کاربر

از آنجایی که این محدودیت بعد از ایجاد کاربر بررسی می‌شود، بهتر است از همان ابتدا قبل از ایجاد کاربر هم آن را بررسی کنید. برای این کار:

cd /usr/local/directadmin/scripts/custom
ln -s domain_create_pre.sh user_create_pre.sh

تغییر صفحه index.html پیش‌فرض برای دامنه‌های جدید

معرفی

وقتی یک کاربر یا دامنه جدید ایجاد می‌شود، به‌صورت پیش‌فرض یک فایل index.html ساده در مسیر public_html قرار می‌گیرد. شما می‌توانید این فایل را تغییر دهید تا ظاهر حرفه‌ای‌تری داشته باشد.

مسیر فایل

/home/RESELLERNAME/domains/default/index.html
  • به جای RESELLERNAME نام کاربری ریسلری که کاربر را ساخته است قرار می‌گیرد.
  • تمامی فایل‌های موجود در پوشه default به پوشه public_html کاربر جدید کپی می‌شوند.

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

در فایل index.html می‌توانید از توکن‌های زیر استفاده کنید:

  • |DOMAIN| → دامنه کاربر
  • |USERNAME| → نام کاربری
  • |DATECREATED| → تاریخ ایجاد
  • |IP| → آی‌پی اختصاص یافته

نکته مهم

فایل‌ها باید سطح دسترسی 755 داشته باشند تا بدون مشکل به کاربر جدید اختصاص داده شوند.

هنوز نیاز به کمک دارید؟

آیا سوالی دارید؟

آیا این مقاله برای شما مفید بود؟ بله خیر

مطالب اخیراً بازدیدشده

  • PHP Selector و محدودیت‌های آن در سرورهای با DirectAdmin
  • مشاهده بیشتر

نظرات خود را بنویسید... لغو پاسخ

اشتراک گذاری این مقاله

آموزش جامع سفارشی‌سازی کاربران در DirectAdmin

کپی کردن لینک

Clipboard Icon

جدیدترین مقالات

CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

تقویم

می 2026
شیدسچپج
 1
2345678
9101112131415
16171819202122
23242526272829
3031 
« آوریل    

عضویت

جدیدترین پست‌ها

CXS چیست و چگونه کار می‌کند
1 minute می 3, 2026
ساخت سرور چت المنت بروی لینوکس
5 minutes آوریل 25, 2026
Geo Routing و Geo DNS
2 minutes آوریل 22, 2026

سلام