Jailed Shell و محیط VirtFS

این مقاله توضیح می‌دهد که VirtFS چیست، چگونه محیط Jailed Shell را برای کاربران SSH فراهم می‌کند، چه هشدارها و محدودیت‌هایی دارد، چگونه فعال یا غیرفعال می‌شود، و چگونه می‌توان mountهای VirtFS را پاک‌سازی کرد. کلمات کلیدی:

WHM shell accesscPanel SSH securityVirtFS jailed shell

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

1. مقدمه


cPanel & WHM از VirtFS برای ایجاد یک محیط Jailed Shell استفاده می‌کند. این محیط مانند یک کانتینر عمل می‌کند و اجازه نمی‌دهد کاربر به دایرکتوری‌های کاربران دیگر دسترسی داشته باشد. این ویژگی امنیت سرور را افزایش می‌دهد.


کاربران در محیط Jailed Shell می‌توانند برخی دستورات محدودشده مانند crontab و passwd را اجرا کنند.


2. نکات مهم و هشدارها


  • در محیط Virtuozzo، اگر بیش از ۴۰۰۰ mount ایجاد شود، ممکن است سرور دچار مشکل عملکرد یا اتصال شود.
  • اگر گزینه EXPERIMENTAL: Jail Apache Virtual Hosts using mod_ruid2 فعال باشد و سرور بیش از ۵۰۰ حساب داشته باشد، ممکن است مشکلات مشابه رخ دهد.
  • در سرورهای CloudLinux، فعال‌سازی Jailed Shell ممکن است باعث آسیب‌پذیری symlink شود. باید Link Traversal Protection فعال شود.

3. دایرکتوری /home/virtfs/


هشدار بسیار مهم: هرگز روی فایل‌ها یا دایرکتوری‌های mount شده در مسیر /home/virtfs/ دستور rm اجرا نکنید. این کار فایل‌های واقعی سیستم را حذف کرده و سرور را غیرقابل استفاده می‌کند.


هنگامی که کاربر برای اولین بار با SSH یا SFTP وارد Jailed Shell می‌شود، سیستم دایرکتوری /home/virtfs/ را ایجاد می‌کند. این دایرکتوری شامل فایل‌های پیکربندی، ابزارها و mountهای BIND است.


این دایرکتوری فضای واقعی دیسک مصرف نمی‌کند، اما برخی دستورات مانند du ممکن است خلاف این را نشان دهند.


3.1 BIND Mount چیست؟

BIND Mount یک لینک مجازی بین دو مسیر ایجاد می‌کند. مثلاً:


/home/virtfs/username/usr/bin → /usr/bin

کاربر محتوای /usr/bin را مشاهده می‌کند، اما در محیط محدود شده.


نکته: در سیستم‌عامل‌های CentOS 7، CloudLinux 7، AlmaLinux، Rocky Linux، RHEL 7 و Ubuntu، mountهای اضافی برای مسیرهای سیستمی وجود دارد. هرگز آن‌ها را unmount نکنید.


4. فعال‌سازی Jailed Shell


4.1 فعال‌سازی برای همه کاربران جدید

از مسیر زیر استفاده کنید:


WHM » Server Configuration » Tweak Settings


گزینه Use cPanel jailshell by default را فعال کنید.


این گزینه روی حساب‌های جدید و حساب‌هایی که بعداً ویرایش می‌کنید اعمال می‌شود.


4.2 فعال‌سازی برای یک کاربر خاص

از مسیر زیر استفاده کنید:


WHM » Account Functions » Manage Shell Access


با فعال‌سازی این گزینه، shell کاربر به مسیر زیر تغییر می‌کند:


/usr/local/cpanel/bin/jailshell

5. ارتباط Exim با VirtFS


اگر shell کاربر jailshell یا noshell باشد، Exim پردازش‌های alias و filter را داخل VirtFS اجرا می‌کند. این کار امنیت بیشتری ایجاد می‌کند.


6. هشدارهای CSF یا LFD


پس از آپدیت ممکن است هشدارهایی مانند زیر مشاهده کنید:


/bin/crontab: FAILED
/bin/passwd: FAILED

این یک هشدار اشتباه (False Positive) است. زیرا این فایل‌ها symlinkهایی هستند که برای دسترسی Jailed Shell استفاده می‌شوند.


7. غیرفعال‌سازی یا حذف محیط Jailed Shell


هشدار: نمی‌توانید VirtFS را به‌طور کامل حذف کنید. حتی پس از حذف، برخی فرآیندها دوباره آن را ایجاد می‌کنند، مانند:

  • Exim
  • Piped Email
  • Cron Jobs
  • Jailed Apache Virtual Hosts

7.1 غیرفعال‌سازی برای یک کاربر

از مسیر زیر استفاده کنید:


WHM » Account Functions » Manage Shell Access


7.2 غیرفعال‌سازی برای همه کاربران

  • غیرفعال کردن Use cPanel jailshell by default در Tweak Settings
  • انتخاب Disabled Shell برای همه کاربران

در این حالت shell کاربران به مسیر زیر تغییر می‌کند:


/usr/local/cpanel/bin/noshell

8. حذف محیط VirtFS برای یک کاربر


  • ابتدا Jailed Shell را برای کاربر غیرفعال کنید.
  • سپس mountهای VirtFS را unmount کنید:

umount /home/virtfs/username/usr/bin

9. اسکریپت پاک‌سازی VirtFS


برای حذف mountهای کاربران حذف‌شده یا غیرفعال‌شده:


/usr/local/cpanel/scripts/clear_orphaned_virtfs_mounts

9.1 حذف mountهای یک کاربر

/usr/local/cpanel/scripts/clear_orphaned_virtfs_mounts --user=username

9.2 حذف mountهای همه کاربران

/usr/local/cpanel/scripts/clear_orphaned_virtfs_mounts --clearall

9.3 بررسی mountهای VirtFS

grep -i username /proc/mounts

نتیجه‌گیری


VirtFS یک ابزار قدرتمند برای افزایش امنیت کاربران SSH در cPanel & WHM است. با این حال، نیازمند مدیریت دقیق، رعایت هشدارها و آگاهی از محدودیت‌هاست. این مقاله تمام مراحل فعال‌سازی، غیرفعال‌سازی و پاک‌سازی VirtFS را پوشش می‌دهد.


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

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

این مقاله یک راهنمای جامع برای مدیران سیستم تازه‌کار است که می‌خواهند اکانت‌های cPanel را بازیابی کنند، حساب‌ها و تنظیمات را بین سرورها منتقل کنند، و از ابزارهای تشخیصی برای بررسی مشکلات انتقال و بازیابی استفاده کنند. این راهنما شامل نحوه استفاده از WHM، نحوه آپلود بکاپ‌ها، روش‌های انتقال، و فعال‌سازی لاگ‌های پیشرفته است.

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه