~3 min read • Updated Mar 1, 2026
1. جلوگیری از حذف فایلها یا مسیرهای حساس
کاربران گاهی فایلهایی را حذف میکنند که نباید حذف شوند. برای جلوگیری از حذف مسیرهای مهم (مثلاً public_html) میتوانید از اسکریپت file_manager_remove_pre.sh استفاده کنید.
فایل زیر را ایجاد کنید:
/usr/local/directadmin/scripts/custom/file_manager_remove_pre.sh
محتوا:
#!/bin/bash
if [[ "${file#${home}}" == /domains/*/public_html ]]; then
echo "You cannot delete your public_html link!"
exit 1
fi
قابل اجرا:
chmod 700 /usr/local/directadmin/scripts/custom/file_manager_remove_pre.sh
میتوانید مسیرهای بیشتری را با افزودن شرطهای جدید مسدود کنید.
---
2. افزودن فرمتهای جدید به دکمه EDIT
برای اینکه یک فایل در FileManager قابل ویرایش باشد، باید در فایل /etc/mime.types با نوعی که با text/ شروع میشود ثبت شده باشد.
مثال: افزودن پسوند .ctp برای CakePHP:
text/x-php ctp
پس از افزودن، FileManager این فایلها را بهعنوان فایل متنی تشخیص میدهد.
---
3. تغییر سطح دسترسی فایلهای آپلود شده
برای تغییر chmod فایلهایی که از طریق FileManager آپلود میشوند، از اسکریپت all_post.sh استفاده کنید.
فایل:
/usr/local/directadmin/scripts/custom/all_post.sh
محتوا:
#!/bin/sh
CHMODVAL=700
ULPATH=/home/${username}${path}
setfile() {
if [ "$1" = "" ]; then
return;
fi
F=`echo $1 | cut -d/ -f4 | awk '{ print substr($1,1,length($1)-6) }'`
chmod ${CHMODVAL} ${ULPATH}${F}
}
if [ "$command" = "/CMD_FILE_MANAGER/" ] || [ "$command" = "/CMD_FILE_MANAGER" ]; then
if [ "$action" = "upload" ]; then
setfile $file1
setfile $file2
setfile $file3
setfile $file4
setfile $file5
setfile $file6
setfile $file7
setfile $file8
fi
fi
exit 0;
قابل اجرا:
chmod 755 /usr/local/directadmin/scripts/custom/all_post.sh
---
4. رفع مشکل دانلود فایلها (نمایش بهصورت متن خام)
اگر فایلها هنگام دانلود بهصورت متن خام نمایش داده میشوند، مشکل معمولاً از /etc/mime.types است.
مواردی که باید بررسی کنید:
- فایل وجود داشته باشد
- سطح دسترسی صحیح باشد:
ls -la /etc/mime.types
-rw-r--r-- 1 root root ...
- نوع فایلها (zip, gz, tgz) در آن ثبت شده باشد:
grep zip /etc/mime.types
application/zip zip
- DirectAdmin از مسیر صحیح استفاده کند:
/usr/local/directadmin/directadmin config | grep mime
apachemimetypes=/etc/mime.types
در صورت تغییر، DirectAdmin را ریاستارت کنید.
---
5. استفاده از head و tail در FileManager
برای مشاهده چند خط اول یا آخر یک فایل، میتوانید از پارامترهای GET استفاده کنید.
مشاهده ۱۰ خط اول:
/CMD_FILE_MANAGER/file.txt?fm_head=10
مشاهده ۵ خط آخر:
/CMD_FILE_MANAGER/file.txt?fm_tail=5
فقط یکی از head یا tail قابل استفاده است.
خروجی همیشه با text/plain نمایش داده میشود.
Written & researched by Dr. Shahin Siami