Jailed Shell و محیط VirtFS

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

WHM shell accesscPanel SSH securityVirtFS jailed shell

~4 min read • Updated Feb 17, 2026

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 را پوشش می‌دهد.


Written & researched by Dr. Shahin Siami