chroot() (chroot)
تابع «chroot» ریشه فایل سیستم را عوض می کند. «ریشه (Root)» یعنی پوشه ای که همه مسیرها از آن شروع می شوند. بعد از chroot، مسیر جاری "/" می شود. مثل وقتی در بازی مرحله جدید می روی و همه چیز از نقطه شروع تازه می آید.
تعریف و کاربرد
طبق منبع، chroot(directory) ریشه فرآیند را به پوشه جدید می برد و پوشه کاری را "/" می کند. موفقیت TRUE است و در خطا FALSE برمی گردد.
پیش نیازها و محدودیت ها
نکته: این تابع نیاز به «دسترسی ریشه (Root Privileges)» دارد؛ یعنی باید کاربر روت باشی.
نکته: فقط روی سیستم های GNU و BSD موجود است و فقط در SAPIهای CLI، CGI یا Embed کار می کند.
هشدار: روی ویندوز پیاده سازی نشده است. بنابراین در ویندوز کار نمی کند.
نمونه کد از منبع
<?php
// ریشه را تغییر بده.
chroot("/path/to/chroot/");
// مسیر فعلی را بگیر.
echo getcwd();
?>
گام های عملی
- پوشه هدف را بساز و آماده کن.
- با کاربر روت اجرا کن.
- chroot را صدا بزن و سپس getcwd را بررسی کن.
جمع بندی سریع
- chroot ریشه فرآیند را عوض می کند.
- بعد از آن، مسیر جاری "/" است.
- فقط با دسترسی روت اجرا می شود.
- روی ویندوز موجود نیست.