راهنمای کامل سفارشی‌سازی کاربران در DirectAdmin: کنترل دستورات، محدودیت دامنه‌ها، صفحات پیش‌فرض، اسکریپت‌های سفارشی و مدیریت رمز عبور

این مقاله یک راهنمای جامع برای سفارشی‌سازی رفتار کاربران در DirectAdmin است. شامل استفاده از all_pre.sh برای کنترل دستورات، جلوگیری از ایجاد ساب‌دامین‌های خاص، محدود کردن تعداد دامنه‌ها، سفارشی‌سازی index.html پیش‌فرض، اجرای اسکریپت‌های توکار، مدیریت قالب‌ها و پیام‌ها، ایجاد index.html برای ساب‌دامین‌ها، و جلوگیری از تغییر رمز عبور توسط کاربران.

DirectAdmin user customizationall_pre.sh, domain_create_pre.sh, default index.htmlsubdomain scripts, password restrictions

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

1. کنترل کامل دستورات کاربران با all_pre.sh


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


مسیر فایل:

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

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


مثال: جلوگیری از ساخت ایمیل با quota بیشتر از 50MB

#!/bin/sh

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

قابل اجرا:

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

این روش برای محدودسازی هر نوع دستور قابل استفاده است.


---

2. جلوگیری از ایجاد ساب‌دامین روی دامنه شما


اگر نمی‌خواهید کاربران بتوانند ساب‌دامین‌هایی روی دامنه اصلی شما ایجاد کنند، از domain_create_pre.sh استفاده کنید.


فایل:

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

محتوا:

#!/usr/local/bin/php

قابل اجرا:

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

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


---

3. محدود کردن تعداد دامنه‌های کل سرور


برای جلوگیری از ایجاد بیش از تعداد مشخصی دامنه در کل سرور:

فایل:

/usr/local/directadmin/scripts/custom/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

برای جلوگیری از ایجاد کاربر بدون دامنه، آن را به user_create_pre.sh لینک کنید:

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

---

4. سفارشی‌سازی index.html پیش‌فرض برای دامنه‌های جدید


هنگام ایجاد دامنه جدید، فایل index.html از مسیر زیر کپی می‌شود:

/home/RESELLERNAME/domains/default/index.html

توکن‌های قابل استفاده:

  • |DOMAIN|
  • |USERNAME|
  • |DATECREATED|
  • |IP|

تمام فایل‌ها باید world-readable باشند (پرمیشن 755).


---

5. اجرای اسکریپت‌های توکار در index.html


می‌توانید اسکریپت‌های PHP را داخل index.html اجرا کنید:

|$/usr/local/bin/php

DONE|

این اسکریپت با سطح دسترسی کاربر اجرا می‌شود.


---

6. ویرایش همه قالب‌ها، پیام‌ها و فایل‌های پیش‌فرض


قالب‌ها در مسیر زیر قرار دارند:

/usr/local/directadmin/data/templates

برای جلوگیری از overwrite شدن پس از آپدیت، فایل‌ها را به مسیر custom منتقل کنید:

/usr/local/directadmin/data/templates/custom

برای سفارشی‌سازی کامل default directory:

/usr/local/directadmin/data/templates/custom/default/*

---

7. ساخت index.html سفارشی برای ساب‌دامین‌ها


چون DirectAdmin قالب پیش‌فرض برای ساب‌دامین ندارد، باید از اسکریپت post استفاده کنید.

فایل:

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

محتوا:

#!/bin/sh
INDEX=/home/$username/domains/$domain/public_html/$subdomain/index.html
rm -f $INDEX
cp /your/custom/index.html $INDEX
chown $username:$username $INDEX
exit 0;

قابل اجرا:

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

---

8. جلوگیری از تغییر رمز عبور توسط کاربران


برای جلوگیری از تغییر رمز توسط خود کاربر (اما اجازه تغییر توسط سازنده):

فایل:

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

محتوا:

#!/bin/sh
if [ "$called_by_self" = "1" ]; then
       echo "You cannot change your own password.";
       exit 1;
fi
exit 0;

قابل اجرا:

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

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

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای 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 انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه