TGViewer
# | Just My Logs # | Just My Logs @justmylogss · 125 subscribers
Post #76 620
توی این پست می‌خوایم با یکی از مفاهیم قدیمی ولی مهم در لینوکس آشنا بشیم:
Chroot Jail
کلمه‌ی chroot مخفف عبارت زیر است:
Change Root

در لینوکس، هر پردازش یک مسیر ریشه (Root Directory) دارد که معمولاً با / مشخص می‌شود.
این مسیر تعیین می‌کند یک برنامه از کجا شروع به دیدن فایل‌ها و دایرکتوری‌های سیستم کند.
در حالت عادی، یک پردازش می‌تواند ساختار اصلی سیستم را ببیند:
/
├── bin
├── etc
├── home
├── usr
├── var
└── root

اما با استفاده از Chroot می‌توان Root یک پردازش را تغییر داد.
مثلاً:
/var/jail
├── bin
├── etc
├── lib
└── home

بعد از اجرای برنامه داخل این محیط، مسیر /var/jail برای آن برنامه تبدیل به / می‌شود.
یعنی برنامه فکر می‌کند در یک سیستم جدا اجرا می‌شود، در حالی که همچنان روی همان سیستم اصلی قرار دارد.
چرا به آن Jail می‌گویند؟
Jail یعنی «زندان».
چون یک کاربر یا سرویس داخل یک محدوده مشخص قرار می‌گیرد و فقط همان محیط را مشاهده می‌کند.
مثلاً یک کاربر FTP:
بدون Chroot:
FTP User
|
+-- کل فایل سیستم

با Chroot:
FTP User
|
+-- /home/user
|
+-- فایل‌های خودش

در این حالت کاربر دیگر به مسیرهایی مثل:
/etc
/usr
/root

سیستم اصلی دسترسی ندارد.
اجرای Chroot
ساختار کلی دستور:
chroot /path/to/new/root command

مثلاً:
sudo chroot /var/jail /bin/bash

با این دستور، محیط Bash داخل Jail اجرا می‌شود و فقط فایل‌های موجود در همان محیط را مشاهده می‌کند.
کاربردهای Chroot Jail

1) محدود کردن سرویس‌ها
یکی از رایج‌ترین استفاده‌های Chroot، محدود کردن سرویس‌هایی مثل FTP است تا در صورت وجود مشکل، دسترسی آن‌ها به کل سیستم محدود شود.

2) تعمیر سیستم لینوکس
یکی از کاربردهای حرفه‌ای Chroot، تعمیر سیستم‌هایی است که دیگر بوت نمی‌شوند.
با استفاده از Live Linux:
mount /dev/sda2 /mnt
chroot /mnt

بعد می‌توان کارهایی مثل:
update-grub
passwd
apt update

را انجام داد.
3) ساخت محیط تست
با Chroot می‌توان یک محیط لینوکسی آزمایشی ساخت، بدون اینکه سیستم اصلی تغییر کند.
مثلاً:
Ubuntu Host
|
+---- Debian Chroot

نکته امنیتی مهم
Chroot یک Sandbox کامل نیست.
Chroot فقط دید پردازش نسبت به فایل‌سیستم را تغییر می‌دهد.
اما:
❌ Kernel جدا ایجاد نمی‌کند
❌ Processها را کاملاً جدا نمی‌کند
❌ منابع سیستم را محدود نمی‌کند
به همین دلیل نباید آن را با Container یا Virtual Machine اشتباه گرفت.
Escape از Chroot
یکی از موضوعات مهم امنیتی، بررسی امکان خروج از محیط Chroot است.
دلیل اصلی این است که Chroot همچنان از همان Kernel سیستم اصلی استفاده می‌کند:
Host Kernel
|
+-- Normal Process
|
+-- Chroot Process

همچنین مدیریت Deviceها در مسیر:
/dev

بسیار مهم است.
چون قرار دادن Deviceهای حساس مثل:
/dev/mem
/dev/sda

می‌تواند امنیت محیط را کاهش دهد.

@JustMyLogss
  • ❤ 2
More from @justmylogss
  1. Oct 8, 2026عجیب پروژه قوی ایه
  2. Oct 8, 2026یک توسعه دهنده اسپانیایی با استفاده از هوش مصنوعی، تمامی ابزارهای ادوب را مهندسی معکوس کرد…
  3. Oct 7, 2026BIOS در مقابل UEFI؛ تفاوت نسل قدیم و جدید Firmware وقتی یک سیستم را روشن می‌کنیم، قبل از ا…
  4. Oct 2, 2026In-Place Upgrade یا Clean Installation؟ وقتی قرار هست یک Windows Server رو به نسخه جدیدتر…
  5. Oct 1, 2026OOP در پایتون چیست؟ OOP مخفف Object-Oriented Programming یا «برنامه‌نویسی شیءگرا» است. پای…
  6. Sep 29, 2026یه نفر اومده و یه موزیک پلیر لینوکس به اسم sung با cpp و qt نوشته که طراحی زیبا و ویژگی ها…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →