chroot چیست؟ آموزش chroot کردن در لینوکس

در این مقاله با آموزش Change Root در لینوکس در خدمت شما هستم اما قبل از اینکه به اصل ماجرا برسیم باید بدانید که اصلا change root چیست ؟

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. Change Root چیست ؟

Change Root چیست ؟

در سیستم عامل لینوکس بر خلاف ویندوز فایل سیستم به گونه ای طراحی شده است که تنها با یک فضا به عنوان روت سروکار داریم.در بعضی مواقع و برای بالا بردن امنیت سرویس هایی نظیر DNS این امکان وجود دارد که مسیر روت تغییر داده شده تا در صورتیکه سرویس مورد نظر دچار حمله و نفوذ گردد ، هکر تنها به بخش مشخص شده به عنوان روت دسترسی داشته و امکان دسترسی به تمام سیستم را نداشته باشد.به طور کلی تغییر مسیر روت چه برای فایل سیستم اصلی و چه برای یک سرویس خاص را Change Root می نامند.در ادامه مسیر //usr//chroot را ایجاد و شل اصلی سیستم عامل را به آن منتقل می کنیم.

mkdir /usr/chroot ; cd /usr/chroot 

سپس پوشه های اصلی را در این مسیر بوجود می آوریم.

mkdir bin etc lib var home  

هر فایل باینری در لینوکس برای اجرا نیاز به فایل های کتابخانه مورد نظر را دارد.برای تنظیمات Change Root و انتقال فایل باینری ، می بایست فایل های کتابخانه آن را نیز منتقل نماییم.برای این کار از دستور ldd کمک می گیریم.

ldd /bin/bash 

خروجی این دستور به صورت زیر خواهد بود.

[root@localhost chroot]# ldd /bin/bash
        linux-vdso.so.1 =>  (0x00007ffe3e74e000)
        libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007ff12b5bf000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007ff12b3bb000)
        libc.so.6 => /lib64/libc.so.6 (0x00007ff12aff9000)
        /lib64/ld-linux-x86-64.so.2 (0x00007ff12b7ff000)

تمامی فایل ها را به پوشه lib در مسیر usrchroot منتقل می کنیم.

ذر آخر نیز فایل باینری را به پوشه bin می بریم.

 cp /bin/bash /usr/chroot/bin  

حال با اجرای دستور chroot usrchroot وارد مسیر جدید می شویم.

[root@localhost chroot]# chroot /usr/chroot/

نکته : بر روی سیستم عامل های 64 بیتی چنانچه به خطای عدم وجود فایل bash مواجه شدید ، دستور زیر را در شل وارد نمایید.

mv /usr/chroot/lib /usr/chroot/lib64  

یاسر امینی
یاسر امینی

سلام دوست عزیز من یاسر امینی فارق التحصیل رشته نرم افزار هستم.حدود 4 سال هست که در زمینه شبکه های کامپیوتری در حال فعالیت هستم.عاشق لینوکس و سیسکو و از ویندوز متنفرم. بصورت Freelance آماده همکاری و راه اندازی انواع شبکه ها در سطوح Passive و Active می باشم. Success is the sum of small efforts repeated day in and day out

نظرات